Reworked the message/request packet system. Watching code is now generic and part of a custom signal/slot library.
Code is simpler, shorter and probably faster.
Removed call adaptor in signals, switched to extended slots (à la boost::signal2).
Extended slots are automatically detected from the signature of the slot itself.
Updated documentation.
Refactoring code for clarity. Added namespace ctl. Moved exceptions into exception namespace.
Reworked config::state to use signal/slots.
Documentation update.