show size of output classes in osmium_sizeof
Add dependencies
Add doc as dependency for make install
formatting
Add support for OGR MultiPolygons

Add conversion function from Osmium MultiPolygon geometry to OGR MultiPolygon geometry.
Add osmium_toogr2 example program that uses this.
Use WayNodeList in Area to hold nodes
Use const string& in Shapefile constructor so we can initialize with string literal
Change -2 option in osmjs to not build multipolygons.

The option -2 used to enable reading in two-pass mode and assembly of
multipolygons. These functions have now been split up. The option -2
now only enables two-pass mode, ie. the file is read twice and you'll
get relations callbacks in the first pass and node/way callbacks in
the second. The option -m (which implies -2) enables assembling of
multipolygons.
Use shared_ptr instead of simple * in handlers

The node(), way(), and relation() methods in handlers used to take simple
pointers to the objects. Now they take references to const shared_ptr's
instead. Together with changes to the input classes, this allows handlers to
keep the objects without a costly copy. Most handlers don't need this, but
there are some cases.

This change does not lead to much extra overhead (I benchmarked it), but it
makes some use cases much easier in the handlers. The first use case is in
the new EndTime handler: All objects now have an endtime in addition to the
timestamp. When reading an OSM history file, the EndTime handler will add
the endtime to all but the last version of an object. That way it is easier
to see the time range in which an object version was valid.
Move nodedensity handler into main cpp file.

The node density handler was in its own file and in the Osmium::Handler
namespace. But this is just a simple example of how to use Osmium, so it
doesn't belong in the Osmium::Handler namespace and it doesn't need an extra
file.
Remove reset() method on OSM objects

The reset() method is not needed any more. It was always a bit odd and can lead
to errors if the reset() method does not do the same thing as a destructor
followed by the constructor. If you need this functionality, call the destructor
directly and then place new.
Move call to final method in handle out of destructor

Calling final() from the destructor was problematic, because a destructor is
never allowed to throw an exception and we could not be sure the handler
would not do that.
Rename some methods for consistency
Moved timestamp conversion functions to extra utils class
typo
Make Osmium::Output::Base child of Handler::Base

This way we can use objects of Output classes as handlers.
Use handler ptr instead of handler directly.

This way it works with handler classes derived from virtual base classes.
Sort targets in makefile
Add RangeFromHistory handler

It can extract from an OSM history file only those objects valid in a given
timestamp range.
Support for reading .osc files