Don't cause early FactoryBean instantiation

Update ConfigurationPropertiesBindingPostProcessor to use
`getBeansOfType` with `allowEagerInit=false` rather than `getBean`.

This prevents FactoryBeans from being instantiated early when their
type is not known.

Fixed gh-1365
Merge remote-tracking branch 'springsource/1.1.x'

Conflicts:
	spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessorTests.java
Refactor AuthenticationManagerConfiguration to make sure it works

if user also adds @EnableWebMvcSecurity. The problem is that the ordering
of the init() and configure() methods in the Spring Security configurers
can force things to happen too early unless we are careful. It's still a bit
twitchy I would say, but this relatively small change seems to fix the GS guide
and not break any existing tests.

I added a sample which mimic ths GS guide so we get an integration test that
executes the new code paths.

Fixes gh-1364
Merge branch '1.1.x'
Fix broken parent POM version

Update the parent POM version in spring-boot-sample-web-secure-custom
Ensure status in ErrorPageFilter defaults to 200

Fixes gh-1369. Note that this is caused by the ErrorPageFilter, so
only a problem when deployed as a WAR.
Merge branch '1.1.x'
Fix property keys in shell docs (consistent with appendix)

Fixes gh-1371
Merge branch '1.1.x'
Refer explicitly to double asterix in metrics docs

Fixes gh-1358
Merge branch '1.1.x'

Conflicts:
	spring-boot-docs/src/main/asciidoc/production-ready-features.adoc
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