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
Use custom condition to detect Hibernate 4.2 and 4.3

...without any deprecation warnings and with some chance that it will
still work with Hibernate 5.

Fixes gh-256
Fix JSP sample
Polish
Allow per context TLD skip patterns

Change TomcatEmbeddedServletContainerFactory to allow per context
skip patterns to be defined, rather than using a global system property.

This commit also renames `skipPatterns` to `tldSkip` to align it with
Tomcat context.xml configuration.

Updates gh-256
Add LevelRemappingAppender and remap thymeleaf

Add a LevelRemappingAppender that can remap the level of logback events
as they are written.

Also update the base configuration to change the somewhat noisy
Thymeleaf INFO logging to DEBUG.

Fixes gh-265
Upgrade to Spring Framework 4.0.1 SNAPSHOT

Upgrade to the latest 4.0.x SNAPSHOT of the Spring Framework in
preparation for the 4.0.1 release.
Remove custom JodaModule support

Remove the custom JodaModule support which is not necessary with
Spring 4.0.1.

Fixes gh-186
Remove dead code

Remove what appears to be unused CLI code.
Better getRootJar exception capturing
Fix URL from String creation to work on Windows

Fixed the nested jar URLHandler to correctly deal with files on
Windows.

Fixes gh-269
Make SpringApplication list/initializers respect their Ordered