Bug Fix (upload content length) and Enhancement (File Splitting)

- Bug Fix: headers for setting content length in upload were not actually being used
- Enhancement: Introduces API for splitting a file into blocks; provides one implementation of the API to split a file into uniformly sized blocks

DEPENDS: PR #24 
Starts Resolving Issue #22 
Encode converts to bytes; otherwise it would be str so, yes I think we do.