Added further documentation and test coverage.
Added further test coverage. Minor refactoring. Added toString to abstract implementation of annotation and of enumeration values.
Added further tests and documentation.