Support for random ports in @IntegrationTest

User can now set up default properties in the Environment using
@IntegrationTest("foo:bar", "x:y") etc. Using "server.port:0" you
can get Tomcat or Jetty to spin up on a random port. We also add
a test listener that populates "local.server.port" with the actual
port the server started on so you can @Value("${local.server.port}")
inject it into the test case.

See gh-607 (this should make the extension of that PR to samples
much easier)
Convert Actuator sample to dynamic ports
Convert remaining samples to use random port

Partial fix for gh-337. See also gh-607 which complements this, but might
conflict on a merge.
Correct impression that DataSource platform is discovered automatically

... it isn't: you have to set spring.datasource.platform
Ensure authentication is added to customized request factory

Fixes gh-692
Add test for TestRestTemplate
Add SpringWebsocketCompilerAutoConfiguration

Fixes gh-693
Tweak autoconfigs in websocket support
Relaxed <requireJavaVersion> configuration of the maven-enforcer-plugin

This commit resolves #695 by changing the configuration so that all Java versions from 1.7 and above are allowed.
Ensure path starts with "/" in ErrorController

When mapping the ErrorController path to Spring Security it's
important that it starts with "/". This change ensures that is
the case even if the user has omitted the leading "/".

Fixes gh-694
Add fixedlocaleresolver based on application property

If the user sets spring.mvc.locale and doesn't provide a @Bean
of type LocaleResolver then a FixedLocaleResolver will be provided.

Fixes gh-697, fixes gh-669
Clarify handling and binding or YAML lists

The docs related to YAML lists were out of date and
lacked an example making it clear how to bind to them.

See gh-501
Add test case for gh-699
Fix secure method configuration global authentication

This fixes a bug in the sample, where the AuthenticationManager it builds
is a local one for the filter chain containing "/login", whereas it was
expecting to override the Boot default, which is "global". The fix is
to extract the authentication configuration out into a
GlobalAuthenticationConfigurerAdapter.

Fixes gh-699
Add setter for security.user.role

Fixes gh-700
Fix typo and use *PropertySource* instead *ProperySource*

Fixes gh-705
RelaxedDataBinder handling for untyped map

Fixes gh-709
Add assertion about non-special resource
Add spring.datasource.separator (default ";")

Fixes gh-715
Use CountDownLatch instead of Thread.sleep()

... to wait for ApplicationContext to close in the 3 tests
that we needed to do so.

Fixes gh-664