Add ServletRegistrationBean for DispatcherServlet

Mapping is exposed via server.servletPath.

Fixes gh-379
Disable JMX autoconfig by default in user tests
Participant -> Listener
Fix spring.factories
Fix test (but not gh-380)
Fix comment
Add (ignored) test suite for tracking down ordering bugs
Applying RelaxedNames before filtering PropertySources

... to allow for OS_VAR to be bound to a @ConfigurationPropertes("os")
class with field "var".

Fixes gh-387, Fixes gh-391
Check for a mainClass in "run" task if there is one

If there is a run task with an explicit main it can be used
by the repackage task (assuming its own native setting is
not used).

Fixes gh-389
Fix shade configuration in parent pom

The Spring resource transformer class name changed
(at least once) since the parent was originally
created.

Fixes gh-384
Switch default to fail on error in SQL initialization

User can switch the behaviour on and off with
spring.datasource.continueOnError:true|false. I decided
not to add an extra nested level of property resolution
because of the existing spring.datasource.schema
(and other properties relating to initialization) because
concision seemed like a good thing with those more common
settings.

Fixes gh-374
Fail on startup if Thymeleaf template directory missing

Better even than logging would be to fail fast? Surely it's a
mistake not to have any /templates if Thymeleaf is in use.
User can disable failfast by exlcuding thymeleaf configuration
or by providing their own ITemplateResolver.

Fixes gh-294
Make sure metricsExecutor is shutdown cleanly

The default executor for publishing metrics was a single
thread (native JDK) ExecutorService with a non-daemon thread.
Changed it to a Spring-managed thread pool of size 1, which
is then shutdown with e ApplicationContext automatically.

Fixes gh-388
Add /mappings endpoint

Lists AbstractUrlMappings and AbstractHandlerMethodMappings
in a loose Map structure. E.g.

{
  "/**/favicon.ico": {
    "bean": "faviconHandlerMapping"
  },
  "/**": {
    "bean": "resourceHandlerMapping"
  },
  "/webjars/**": {
    "bean": "resourceHandlerMapping"
  },
  "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}":
     {
       "bean": "requestMappingHandlerMapping",
       "method": "public java.util.Map<java.lang.String, java.lang.Object> org.springframework.boot.actuate.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)"
...
}

Fixes gh-378
Adding support for multiple configured job names
Skip unnecessary attempt at executing Job

...that was already executed as part of the "local" set.

Also added some howto docs on executing Batch jobs.

See gh-382
Add retry and parameter increment logic to job runner

The existing behaviour of JobLauncherCommandLineRunner was really too
basic. It has now been enhanced (at the expense of duplicating a lot
of code in Spring Batch it seems) to automatically increment job
parameters if it can, and to retry a failed or stopped execution
if it can (without incrementing, but with additional job parameters
added from command line if they are non-identifying).

The JobLauncherCommandLineRunner is more extendable and exposes
its DI wiring points now as well, so hopefully users can make
use of it independently of autoconfig (by providing a @Bean of
that type).

Not everything from the wishlist in gh-325 is implememented yet,
but it should be a good platform to work with and to extend.
Polish
Revert "Omit jar: prefix from jarFileUrl"

Restore previous behavior where JarFile URLs are always prefixed with
"jar:". I believe that the prefix is required in order to remain
compatible with standard JAR URLs.

This reverts commit 825fc2f7df11da4ad7a0dc82884c43fdbfc8f352.
Upgrade to Spring Data Codd GA release.

Adapt auto-configuration code to use the new constructor introduced
in Spring Data Commons' AnnotationConfigurationSource.

Fixes gh-365