Use generic type for service data to avoid casting all over
Use labels in addition to tags for accepting service payload
Throw an exception instead of returning null when ServiceConnectorCreator cannot be found
Add service-scanning in Java config through @ServiceScan
Fallback to invidual fields (host, port, etc.) if uri is not available for relational services
Add documentation for Java config
A round of Javadoc update
Support sendgrid/smtp service
Refactored Java config support to avoid issues with provided dependencies

Before this refactoring, if an app didn't bundle Spring Data etc. dependencies,
Spring will thorw an expcetion when enhancing @Configuration classes that
extend AbstractCloudConfig. This refactoing changes the api to introduce
a level of indirection to avoid the issue (at the cost of slighly more
user code).