feat(splitter): chunking projectid, vaultid, start_marker and end_marker

This patch allows every vaultid specific to a projectid to be chunked
with a start marker and end marker. This allows the manager to be
instanitated with a different start and end marker when calling the
validation functions.
comments: add an explanatory note on tests for chunker
fix: better testing for splitter
fix: test splitter  when the vault is empty
fix: add listing from storage blocks, if metadata was empty
bugfix: add a wrapped generator which filters on markers

- the wrapped generator makes sures that we do not get start and end
  markers to be the same.

- change the iteration cycle, if the number of the blocks are exactly
  divisble by the limit

- change up tests to include ddt, to test both scenarios. i.e when
  number of blocks is exactly divisble by limit, and when it isnt.
fix: refactor getting the first block from metadata/storage
perf: turn list of meta_markers into generators
feat: improved version of chopper with generators

- smaller memory footprint and faster
rm: remove debug statements
Merge pull request #15 from TheSriram/chopper_using_generators

Chopper using generators