Rename --cat to --add-mod

Given that this command is adding all the fancy metadata that is not an
inherent part of rs5 files, rename it to be clearer as to it's intent.
Add mod order support + significantly speed up hole search

The order of mods overriding each other can now be set inside
MIASMOD\ORDER and changed with an option to rs5-extractor.py

We no longer search for holes when adding every single file as this was
quite slow - instead, we now search for the largest hole in the file and
only search again if we were able to fill it with something. The hole
search algorithm is also speeded up significantly as it more quickly
dismisses anything before the undo metadata.

There is still room for improvement here - we could keep a list of holes
and keep it in sync so the search only has to be done once (this also
has the potential of later allowing us to optimise file placement to
reduce fragmentation), but that's a lower priority.
Preserve unknown field when adding mods/repacking archive

I don't know what this field is, but I want to preserve it to ensure
that if main.rs5 is reverted, it should exactly match the SHA1 stored in
Steam's depot manifest files (and therefore pass Steam's verify game
cache without forcing the entire game to re-download).