Previously, we overrode a method to control how manifests were
serialized. This method was redefined on cg3packer to send tree
manifests.
This commit moves the tree manifests sending variation to cg1packer
and teaches the cgpacker constructor to control which version to
use.
After these changes, cg3packer was empty. So it has been removed.
Note that this also works for flat manifests (IIRC). You should be able always use this version, as long as you remove the assertion. You can perhaps move the assertion 3 lines down into the if dir: block.