Add support for writing geometries to WKB

This patchset adds support for writing to the WKB format from geometries. There are a couple of fixes to support geometry adaptions there as well, and I had to modify the geometry_type to support different dimensions and formats.

This implementation is generic enough to be able to support CIRCULARSTRING, implemented on top of this implentation locally, so it should be sufficiently user-extendable for some use cases.

Current limitations: 
* endian conversion is not supported (yet)
* there might be some use of C++11 in there, which I will remove when the direction of this PR
* no support for multi-geometries (yet)
* there might be traces of CIRCULARSTRING left.

I am prepared to do more work to get this patch into Boost.Geometry proper, as it is a hassle to maintain this out-of-tree. :)