package kit: PackageFileHeapReader::Init(): Sanity checks

Make sure the compressed/uncompressed heap size and the chunk size
table look plausible, so we can rely on the values later. Fixes
potential crashes for corrupt packages.
PackageWriterImpl: Move _Finish() impl to match order in header
BPackageWriter: Add Recompress()

Allows rewriting an existing package file with a different compression.
package: Add command recompress

The streaming feature for -0 is missing yet.