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.