Queue handling cleanup.

Queues are used to shunt data from one thread to another for input/output
operations. In some places there were already checks for the size of the queue
so that threads could wait when the queue was too full. These checks have now
been centralized in the queue class itself, which makes the code much more
readable. If you compile with OSMIUM_DEBUG_QUEUE_SIZE, osmium will now output
how often queues were full, this will help with tuning the queue size and wait
times. The current values are the result of some preliminary testing, more
testing on different machines is necessary.
Improved cmake config.
Remove config line forcing C++11.

(You might want to use C++14 for instance...)
Move essential compile options from OsmiumOptions.cmake to FindOsmium.cmake.