Polish
Add auto-configuration for Spring Cloud

Enable if all of the following are true:
- spring-cloud is on the classpath
- There is no Cloud bean present
  (usually done by extending AbstractCloudConfig)
- The "cloud" profile is active

Fixes gh-1302

Autoconfigure spring-cloud
Merge pull request #1324 from ramnivas/spring-cloud-autoconfig

* spring-cloud-autoconfig:
  Add auto-configuration for Spring Cloud
Add String type attribute to OnBean conditions

Fixes gh-1381
Add @ConditionalOnMissingBean(MongoDbFactory)

Update MongoAutoConfiguration to be conditional on a missing
MongoDbFactory bean. The assumption is that if the user has declared
a MongoDbFactory they will either use it directly, or they will also
register a Mongo bean.

If the MongoDbFactory class cannot be found the existing Mongo
auto-configuration still applies. This ensures that users that do
not have Spring Data can still access a Mongo bean.

Fixes gh-1341