Made test actually testable.
Cleanup pass.

- test_demux_c no longer inherits from demux_c, as demux_c no longer
supports virtual methods.
- Moved out everything that could be moved out of test_demux_c.
- Added support and test cases for flat functions.
- Removed test_demux_c param from static method handler.
- Implemented signal_c::operator ==.
Renamed test-event-main.* to event-test.*.
Renamed meta.hpp -> meta-lib.hpp.
Added event-lib.hpp, moved forwards to it.
Shelled module for signal_c and its unit test.
Added module to unify naming of built-in casts and boost's casts.
Broke signal into dedicated module, added unit test.
Changed signal_c::value to id.
Added docblock for signal_c.
Fixed massive copy/paste typo.