Support uploading port contents to glacier.

Modified data flow for tree hashes slightly. The formatting of a tree
hash as a hex string is now delayed to the last possible moment. This
allows for computation of tree hashes for trees of height > 1 (as will
come up in archives with parts of length >1MB).

part-size is an optional argument of create-archive-from-port.

create-archive-from-file was modified to use the smallest part-size
required for the upload operation to succeed (this increases the file
size limit from roughly 9 GiB to 39 TiB).