Updates to redis repositories

* Ensure prefix ends with period
* Allow prefix and key index to be set separately
Fix type mentioned in javadocs
Don't mask original exception in SpringApplication.handleError

If any @Import (or @Enable*, especially @EnableScheduling) has registered
bean *names* as ApplicationListeners, and the application context wasn't
refreshed fully when it failed, then the listener lookup could fail and
mask the original exception

Fixes gh-253
Extend semantics of ConfigFileApplicationListener environment a bit

spring.config.[name,location] can both be a comma-separated list now. Highest
priority is last, like a hash overriding its keys (as per other conventions
in the listener).

Fixes gh-261
Add spring.messages.encoding (default utf-8)

Fixes gh-260
Polish
Refine ConfigFileApplicationListener a little
Add layout docs to plugin READMEs
Add thymeleaf starter

Fixes gh-264
Add some more smarts around --debug

--verbose seems to be only for CLI logging (so really only
for dependency resolution). --debug is interpreted by SpringApplication
but up to now has been extracted and deleted from the command line
by the CommandRunner. This change makes --debug set a System property
*and* pass it down to the application (if used with -- separator).

Fixes gh-266
Add destroyMethods to DataSources
Allow gradle builds without version numbers

Add a gradle `ResolutionStrategy` that resolves missing version numbers
using the `spring-boot-dependencies` POM.

This commit also introduces a new `spring-boot-dependency-tools` module
that provides programmatic access to the `dependencyManagement` section
of the dependencies POM.

Fixed gh-262
Update CLI to use spring-boot-dependency-tools

Update `GroovyCompiler` and `AetherGrapeEngineFactory` to use the
recently added `spring-boot-dependency-tools` in favor of loading
dependency information from a generated properties file.
Add detection of default config classes to SpringApplicationConfiguration

I guess this didn't get done before because of the legacy structure of the
class hierarchy of TestContextLoaders. It makes sense that we should just prefer
netsted @Configuration though, so that's what this change does.

Fixes gh-271
Fix some compile warnings
Allow `new URL(String)` with nested JARs

Update JarFile to allow the custom registration of a JAR
`URLStreamHandler` that allows `jar:` URLs to be constructed from
Strings. This removes the previous requirement that all nested JAR URLs
be created with a 'context'.

To supported nested JARs the `java.protocol.handler.pkgs` system
property is changed so that our custom URLHandler is picked for 'jar'
protocols in preference to the Java default.

Fixes gh-269
Allow hibernate.version as synonym in dependency management
Add loader.args to PropertiesLauncher

Also new section of README for propery keys used by the
launcher.
Add Tld scanning exceptions to Tomcat startup

Addresses gh-263 to some extent.
Use System properties for skipping Jars for TLD etc. scans

I'd prefer a fix that wasn't global for the VM, but the default values shoudl be harmless
at least.

Fixes gh-274