Changed version number from 1.1.0 to 2.0.0.

The API changes are too significant in order to justify a 1.1.0 version number,
particularly with the versioning policy in place.
Doxygen: Added more documentation, particularly public types. Moved some internal types to detail::