Use correct data types for container indices
There's one part in the public API still left with this problem, the QPair<const char*, int> uses in low-level header parsing. That probably should be replaced by QByteArrayView.
A few minor cleanups found on the way are included as well, see individual commits for details.