Add a C++ wrapper for lo_message_clone().
Return a "maybe" pair from lo::Message::deserialise().

Instead of taking a result parameter.
Only free valid lo_message in lo::Message destructor.
Avoid extra copy when constructing a lo::PathMsg.
Call Bundle(lo_bundle) constructor from Bundle(const Bundle&) constructor.
Move lo_timetag arguments to end of Bundle constructors to make them optional.
Add Bundle::add(lo_bundle).
Add lo::Bundle::print().
Move lo::BundleElement to lo::Bundle::Element and allow initializer lists to contain bundles.
Add operator=() swap copy operators.

This avoids ref-counting problems in cases such as:

    lo::Message a(lo::Message());
    a = lo::Message();

which previously caused a segfault.
Add a C++ test for retrieving bundle elements.