Added initial support for namespaces: setting a single @Namespace on a controller activates it.
Made the XmlProcessorException a checked exception.

Following the guidelines in Effective Java, all non-programmer errors are now checked exceptions. In many places the XmlProcessorException was replaced with an existing RuntimeException, like IllegalStateException or IllegalArgumentException.
Added support for using multiple namespaces.
Refactored logic on controller classes from ControllerMethod into a new class ControllerClass.
Simplified namespace support and added documentation.

The Namespaces annotiation doesn't require a defaultShorthand anymore; the code will simply pick the first as the default.

All annotation interfaces have been updated with documentation.
Updated tutorial for namespaces and simplified namespace support even further.

The "shorthand" method on each annotation is gone. Instead,  developers can type the shorthand directly in the annotation value, just like namespace prefixes. That feels much more natural.
Fixed Sonar issues.