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 
I'm wondering if this should be a Type Error, or a Attribute Error. Since the validation functions fails if the input stream does not have a read and tell attribute