configure Sink in seperate method
make a Sink store the header, instead of the args
encapsulate writing the Bloscpack header in the sink
encapsulate metadata and offsets in sink

Appending is still a hackjob here though
make use of the abc module
simplify handling offsets inside the sink
remove a comment which is now meaningless
Merge branch 'improve_CompressedSink_API'

* improve_CompressedSink_API:
  remove a comment which is now meaningless
  simplify handling offsets inside the sink
  make use of the abc module
  encapsulate metadata and offsets in sink
  encapsulate writing the Bloscpack header in the sink
  make a Sink store the header, instead of the args
  configure Sink in seperate method
add a configure method to the PainSource
use abc on the PlainSource too
Merge branch 'improve_PlainSource_API'

* improve_PlainSource_API:
  use abc on the PlainSource too
  add a configure method to the PainSource
pack now accepts a source and a sink
Merge branch 'make_pack_independent_of_file_pointers'

* make_pack_independent_of_file_pointers:
  pack now accepts a source and a sink
_unpack_fp turned into unpack
Merge branch 'refactor__unpack_fp'

* refactor__unpack_fp:
  _unpack_fp turned into unpack
pep8
pep8 the test code
update TODO list and changelog