[Unit Testing] Underflow and overflow test cases added.
[Bug Fix] Using `boost::numeric_conversion` instead of own velocycles.

This change allows to properly cast from other integer to another with precision loss/overflow/underflow detection. Magic!
[Tasks] Sadly, but `boost::format` is slow.
[Aux] Renaming and decoupling done.

Class `scoped_pump` (detail implementation) is now called 'pusher_t` and lives in its own file. Its factory function has been renamed.
Main macro definition lives now in `blackhole/macro.hpp`.
File `blackhole/log.hpp` is left for backward compatibility, but may be removed later.
Fixed tests, old usages and other stuff.