Mixed changes and fixes
Rewrite of osmium_serdebug

osmium_serdebug was just letting the Hander::Debug do it's work. But
this didn't work with nested relation members. So now osmium_serdebug is
completely rewritten to directly read and handle the dump format itself.
The output format has slightly changed in the process.
Use signed int for uid

This is needed for anonymous users which show up as uid=-1
Add wrapper for write(2) syscall

This wrapper does several things:
a) It checks for errors and throws an exception
b) The write(2) syscall is allowed to write less than the full buffer
given. So the wrapper loops and calls write again until all is written.
Fix signed/unsigned issue in index.hpp
Add missing includes
Use new MultiMap member map.
osmium_serget improvements

Argument parsing. Uses new debug Dump that was introduced recently into
serdebug and has now been moved into the library.
Make Items (in buffers) noncopyable

They have dynamic sizes, so copying doesn't work like for normal C++
objects.
Check serialized class sizes in test.
Cleanup of osmium_ser* examples.

They all operate on a directory now that contains the data file and all
index and map files. They all take cmd line options including --help.