JCLOUDS-457: Added deleteArchive and uploadArchive operations to the Glacier client.

Added a TreeHasher util class to calculate the TreeHash of a payload and its test.
Try chaining the `HashedInputStream` for efficiency:

```
HashingInputStream linearHis = new HashingInputStream(Hashing.sha256(), is);                                                                                   
while (true) {                                                                                                                                                 
    HashingInputStream.chunkedHis = new HashingInputStream(                                                                                                    
            Hashing.sha256(), ByteStreams.limit(linearHis, CHUNK_SIZE));                                                                                       
    int count = ByteStreams.copy(chunkedHis, ByteStreams.nullOutputStream());                                                                                  
    if (count == 0) {                                                                                                                                          
        break;                                                                                                                                                 
    }                                                                                                                                                          
    q.offer(chunkedHis.hash());                                        
} 
```