Bug Fix (upload content length) and Enhancement (File Splitting) ** DO NOT MERGE **

- 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

Note: Presently there is an issue with the get_blocks() portion of the API that is suppose to return multiple blocks; not sure what is the problem but the 3 tests for it are all failing because they don't get the correct number of blocks( 2 != 1, 4 != 1, 5 != 2).

DEPENDS: PR #24 
This could probably be 
```python
getattr(input_source,'read')
```