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
Allow ANSI output to be configured by properties

Add AnsiOutputApplicationListener which configures AnsiOutput.enabled
based on a `spring.output.ansi.enabled` property.

Fixes gh-1243
Merge pull request #1274 from raphinesse/feature-configurable-ansioutput

* feature-configurable-ansioutput:
  Allow ANSI output to be configured by properties
Attempt to fix travis
Attempt to fix travis
Attempt to fix travis
Support programmatic banners via setter

Introduce an easy way for the user to provide an custom programmatic
banner to the Application as alternative to the static banner.txt file,
without the need to override SpringApplication class.

Fixes gh-1363
Merge pull request #1363 from Stummi/master

* pull1363:
  Support programmatic banners via setter
Rename Banner.write method to printBanner

Rename Banner.write to Banner.printBanner for consistency with the
now deprecated SpringApplication.printBanner method.
Add support for RelaxedDataBinder aliases

Update RelaxedDataBinder to support property aliases and change
DataSourceBuilder to use them.

Fixes gh-1384
Polish
Relax EntityManagerFactoryBuilder Map generic

Relax the generic signature on EntityManagerFactoryBuilder.properties
so that any object type can be added.

Fixed gh-1376
Upgrade to Jackson 2.4.2

Closes #1387
Upgrade to Joda Time 2.4

Closes #1388
Tidy imports
Add ServiceLoader for AST transformations

The loading is via a marker interface SpringBootAstTransformation
to avoid clashing with other services registered as org.groovy.*

Fixes gh-1392