Improve JavaDoc on public API classes
Add to JavaDoc. Make contract violations AssertionError. Set
constructors private to prevent instantiation.