Enhancement file upload

- Adds ability to upload a file that is split into chunks
  - presently only supports the Uniform Splitter with no option to specify chunk size (defaulted to 1MB) or specify another splitter
  - Adds upload of blocks via msgpack interface
  - Adds file finalization
- Maintains 100% code coverage

DEPENDS: PR #27 
CLOSES: Issue #21, #22 
I checked in the Deuce code. At least the tests for the multi-block upload (msgpack version) uses application/msgpack:
```bash
$ grep msgpack * -Rn
tests/test_blocks.py:10:import msgpack
tests/test_blocks.py:153:          "Content-Type": "application/msgpack",
tests/test_blocks.py:160:        request_body = msgpack.packb(contents)
tests/test_blocks.py:171:            "Content-Type": "application/msgpack",
tests/test_blocks.py:178:        request_body = msgpack.packb(contents)
tests/test_blocks.py:187:                                      body='non-msgpack')
tests/test_blocks.py:194:            "Content-Type": "application/msgpack",
tests/test_blocks.py:202:        request_body = msgpack.packb(contents)
tests/test_blocks.py:420:            request_body = msgpack.packb(contents)
tests/test_blocks.py:422:                "Content-Type": "application/msgpack"
```

Whether that's the right one or not, I don't know. I was just following the examples provided.