Bag to destination
This could use some more testing, but it seems to work perfectly.
I added new arguments, "destination" and "name."
If destination is used, the contents of the source directory will all be copied into the "destination", and the bag will be saved there rather than bagging in place. If no "name" is supplied, the bag directory will be named whatever the name of the source directory is. If "name" is provided, it will be named that.
Most importantly, the manifest checksums are generated from the source files, not the copied files, so this provides a perfect chain of custody. We do this by modifying make_manifests to check if we are bagging to a destination. If so, it generates the checksums from the source and handles the paths accordingly so that they are correct in the manifest.