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 
I originally tried doing:
```python
if not 'read' in dir(input_source):
    return False
```
However that proved problematic as 'read' was not always listed in the dir(). Python 3.4.0 for example doesn't list it for the NamedTemporaryFile.

I did try your suggestion and it does work even in that case...so yeah, I'll switch it as it's probably a faster operation.