Update doxygen configuration.
Add documentation.
Change allow_overwrite flag from bool to its own class.

This makes for a more self-documenting interface.
Fix documentation and warnings for ProblemReporter.
Some documentation updates.
Create doc in XL format and create class list.
Merge visitor- and handler-type interfaces.

There were two interfaces for essentially the same thing: Visitors and
handlers. Visitors used overloads of the operator(), handlers have functions
names after OSM object types (node, way, ...). This was confusing and lead to
more code than necessary. The advantage of the operator() type interface is
that it will automatically pick up types according to the class hierarchy, but
it needs a bit more boilerplate code in user code. To use the handler type
interface the developer just has to derive their class from the
osmium::handler::Handler class.

This patch gets rid of the operator() type interface and fixes the Dump class
and the ObjectPointerCollection class to use the handler interface. It also
removes the now unnecessary code from visitor.hpp.

To allow the handler to do everything the operator() stuff could do, we have
to add the functions to the handler base class for all the item types there
are, TagList, RelationMemberList, etc.

To simplify using of handlers, a call to object(osmium::Object&) was added
to the node, way, relation, and area cases in case something should be done
for all of the OSM object types.

Fixes #15.
Rename osmium::osm::Dump to osmium::handler::Dump.
Add valgrind suppressions file and make valgrind return error code.

The valgrind supressions file describes errors outside the osmium library that
should be ignored.
Make test results show up better.

Based on code from Johannes Kolb <johannes.kolb@gmx.net> in old osmium.
Make test result messages line up.
Rename visitor->handler in visitor.hpp.
Simplify visitor code, hide recursive function in anonymous namespace.
Further simplify visitor code.
Rename MaybeConst to ConstIfConst.
Remove unnecessary include.
Simplification of diff handler and diff visitor.
Use anonymous namespace for diff visitor recurse functions.
Rename visitor->handler in diff_visitor.hpp.
Rename object() callback to osm_object().