C++: use set() function instead of wonky assignment operator overloading; rearranged class structure to match C API.
Test for forbidden keys in msig_set_property() and mdev_set_property().
Swig/Python: return timetag from start_queue() function.
Do not check for expired devices on every call to monitor_poll().
Use link pinging for estimating clock offsets, network latency and jitter between peers instead of admin-bus /sync messages. Simplify outgoing /sync messages but still accept old version.
Improvements to link sync.
Fix string_type class in C++ header and change Property::set(string_type) signature.

One polymorphic version of Property::set() was for std::vector<const
string_type>, which doesn't seem to be correct and fails to compile
for me.  This patch changes it to Property::set(const string_type).
It also adds a "size" member to the string_type class to make it work.