readded parts of hal support and configuration

- changed rel provider to handle objects, not classes. otherwise the
wrapper classes (Resource<T>...) could not be easyly handled
- added new annotation based relprovider
- changed way to configure a rel provider. serializers.addserializer did
not work

Tests
- tests for annotationrelprovider
#47, #60 - Next Round of polish for HAL and link relations.

Reverter RelProvider API to work with classes instead of objects so that it becomes general purpose again. Moved Resource extraction logic into helper class.

Polished AnnotationRelProvider (added annotation caching), added DefaultRelProvider to simply default to the simply class name and corrected ControllerRelProvider to lookup relation types from Controller classes. Added DelegatingRelProvider to delegate to RelProvider implementations in a PluginRegistry. Added BeanDefinition setup to HypermediaSupportBeanDefinitionRegistrar to setup a PluginRegistry of RelProviders and the wrapping DelegatingRelProvider to become the primary auto wiring candidate.

Made the BeanPostProcessors for Jackson ObjectMapper customization aware of the BeanFactory to lookup the DelegatingRelProvider instance to hand them into the Jackson HandlerInstantiators.

TODOs:
- More tests
- Correctly register ControllerRelProviders
- Add RelProvider implementation based on the Evo inflector to build plurals (http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html)
#47 - Fixed pom formatting.
#47 - Added RelProvider implementation pluralizing using the Evo Inflector algorithm.

See http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html for details of the algorithm.