Hooking up the File Splitter API

- Enhancement: len() on the File object to get the length of the file; it is not guaranteed to have no gaps and no overlaps
- Enhancement: internal tracking of the maximum offset, redimentary for now
- Enhancement: add a block call instead of having to use use the blocks property and add it directly; this provides de-dup capabilities
- Enhancement: added use of the file splitter api to the file object to load blocks from a data source
- Enhancement: More validation checks
- Bug Fix: some typos
- Bug Fix: assign block test failed to assign use different offsets in the happy case resulting in one block being assigned instead of the true number of blocks being assigned
Enhancement - hook ups

- Adds msgpack-python dependency in requirements.txt
- Removes functionality requiring the block to be inserted into the vault with data in order for it to be assigned to a file
- Adds a function to easily add new files to a vault object
- Adds function to upload multiple blocks using the msgpack interface for deuce
--- Adds appropriate tests
- Adds function to finalize a file
--- tests are still TBD
Testing File Finalization

- Added another contraint to File Finalization - that the file explicitly be part of the Vault
- Added tests for file finalization
- Cleaned up file creation by moving the client to be part of the self object and created as part of setUp()
Refactor - client tests

- Refactored client tests to create the client object in setUp() instead of in each function
Bug Fix

- Fixed a couple tests that were broken due to changes while getting the shell to work
Merge branch 'bugfix_upload_content_length' into enhancement_file_upload
Merge branch 'bugfix_upload_content_length' into enhancement_file_upload
Merge pull request #30 from BenjamenMeyer/enhancement_file_upload

Enhancement file upload