Refactor RegistryKeyList

This is in preparation for page patching. The old code kept dynamic
(programatically created) and serialized keys separate. This had the
potential to reorder the key list during the application of a patch.

This is separate from the prp-patches branch to facillitate review.
Re-add plKeyImpPublic and the patching iterators.

These were removed by Cyan in version 70, when the PageInfo version was
bumped to 6.
Reimplement PageInfo Flags

This bumps the page info version to 7 since I added a flags field, which
will, once again, be used for patch pages. I also took the liberty of removing support for prp versions before 6 (old junk) to simplify the reader.
Implement plPagePatcher

Unlike older versions of Plasma, plPagePatcher is just a namespace in this
implementation. This changeset also fixes some minor issues that cropped
up. Nothing too major. Move along, move along.
Fix some mauled function names

Those got screwed up in the greate [U]Int(N)->stdint cleanups. Might as
well fix them.
Improve plPatchUtil's validation

Move validation code into plPagePatcher. Now, we check the hashes of the
files and each key's buffer. This will definitely help debug any patches
that don't validate correctly.