pipeline.cpp: Use all sources/sinks in order_before
pipeline::order_before: Ensure that authoritative node maps are used

Previously, an unauthoritative node map meant that item source sets
or item sink sets would sometimes turn up empty.
test/unit/CMakeLists.txt: Reformat test lists
Add ut-compressed_stream write_peek test
tpie/serialization2.h: use pointers instead of iterators. Fixed #166.
Add blocks class.
Implement non-compressed block_collection class.
Move the freespace_collection class into its own file.
Add an additional constructor to the block_collection class.
Add block collection unit test.
Add initial_configuration method to freespace_collection.
Fix alloc method in freespace_collection.
Fix get_configuration method in freespace_collection.
Make block_collection open files in r/w mode.
block_collection::free_block now truncates files.
Fix block_collection:write_block.
Add erase unit test for block_collection.
Add block_collection overwrite test.
Fix header guard naming in blocks subdirectory.
Implement block_collection_cache.h