Refactoring of Resource classes to implement a few set interfaces.

This has the following benefits:
 - compiler checks consistency of args and throw exceptions
 - only have to put Javadoc on the interface methods
More web service refactoring and doc improvements