Reviewed, documented, and refactored

Main changes:
* Distinguish "read only" helper classes from those used by Jackson
* Simplify several type conversion methods
* Removed helper classes that did not do anything special and used
standard datamodel implementations instead
* A lot of additional documentation
* Removed Helper; put its methods closer to where they are used
* Removed some constant definitions that occurred in two classes with
the same values