Add typedef for template types to NodeLocationsForWays class.
Make Reader::eof() method const.
Add missing operator~ and convenient names to entity_bits.
Callback from area assembler takes a moved buffer instead of const ref.
First stab at a "flexible" reader class that handles mp assembly automatically.

The FlexReader will automatically read the input file several times if needed
to assembly multipolygons. Also the read() function will return a vector of
Buffer objects instead of a single Buffer. When assembling multipolygons this
vector will usually contain two buffers, one with the way and/or relation
objects, one with the completed area objects.
Refactoring: Move some classes into their own header files.
Remove superfluous code from BlobParser.
Refactor PBF parsing code.

This makes the code clearer and it separates the threading-related code better
from the non-threading related code to aid in debugging.
Clean up properly even in failure case.
Further splitting of non-thread from thread-code.
Cleanup: Remove InputQueueReader class.
Clean up read_from_input_queue() method.
Cleanups and comments added.
Improve external configurability at run-time.

Configuration through environment variables is now in its own header file.
OSMIUM_USE_POOL_THREADS_FOR_PBF_PARSING can be used to disable use of the
thread pool when parsing PBF files.