Fix bug: Read in relations when relations were requested
Fix busy loop
Add support for changesets.

This adds a basic osmium::Changeset class and support for changesets in XML
reader and writer and OPL writer. The dump function now also outputs
changesets.
Change the way user/role strings are stored in buffers.

It used to be size_t length plus the string (plus null byte) padded to 8 bytes.
But this
a) didn't work on 32 bit systems where size_t is 32bit (because of alignment)
and
b) it wastes a lot of space because the length field is much bigger than needed.

The length is now a 16bit number, then the string starts. And the whole thing
now needs to be aligned to 8 bytes.
Make TagList, WayNodeList, and RelationMemberList derive from ObjectBuilder
Reorganized handling of the user and role fields.
Extract common code into add_padding_for function
Simplify padding code
Make sizeof_object() private
Rename add_string() to add_user()
Make RelationMemberListBuilder::add_role() private
Cleanup