[2932] Interface to subscribe and unsubscribe notifications

Not documented as of yet, and no implementation.
[2932] Tests for the notification reception in C++
[2932] Subscribe and unsubscribe notifications

Doesn't actually use this for anything yet.
[2932] Handle the notifications

Detect incoming notifications and handle them according to the
subscriptions.
[2932] Document the notification interface
[3172] static_cast enums before comparing them against ints
[3172] Remove unused arguments (clang++ warning)
[3172] Make more clang++ fixes
[433] Check to make sure msqg isnt already running.

Check to ensure there is no existing daemon running before removing
the socket endpoint. Fail to start if one is. Added a new test to
check this behaviour.
[3183] Created a container class to hold received packets.
[3183] Implemented -f command line parameter to control renew rate.
[3183] Send Renew messages.
[3183] Separate rate control for Renew messages.
[3183] Record timestamp of the last Renew and one other trivial fix.
[3183] Fix bugs in the doxygen documenation for perfdhcp.
[3073] Add empty() member function to Element for element lists.

It has been asserted that using empty() is more efficient than using
size() > 0 due to the possible extra work size() has to do. So provide
an empty() function, which matches the underlying Boost implementation.
[3183] Clean Reply packet storage every one second.
[3183] Passive wait for the packets to receive.
[3183] Corrected a bug where microsecs timeout was passed as sec timeout.
[3073] Rremove incorrect checks for empty() that caused test failures