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 
Now coming to the fix.
just change that line to follows:
```python
data = bytes(os.urandom(data_size))
```

Note here: if too many requests are made to os.urandom without allowing enough entropy change, there may be the same trouble as before, but its a possibility however unlikely.