Upgrade to Spring 4.1.0 and use Yaml support that migrated from Boot

Closes #813
Fix HTTP status code mapping in HealthMvcEndpoint

refs #1264
Flexible registration of additional PublicMetrics

This commit permits the use of several PublicMetrics instances by
default. Previously, only one PublicMetrics service could be specified
and a user configuration would remove all the defaulting.

VanillaPublicMetrics now takes a collection of PublicMetrics and
invokes them in sequence to build the final collection of metrics.
The system-related metrics have been moved to SystemPublicMetrics and
are registered by default.

Also updated the documentation to mention this feature and how it
could be fully overridden.

Fixes gh-1094
Polish and re-add author name
Correct the default Logback config location in the documentation

Fixes #1247
Merge branch '1.1.x'
Fix typo (fixes gh-1273)
Reverse priority of property sources when extracting sub properties

Fixes gh-1259
Ensure custom HTTP code mappings for /health don't remove default mappings

Previously any custom http code mapping would remove the default mappings. With this commit the behaviour is changed so that default mappings will stay if a custom mapping is registered. Certainly a default mapping can be overridden.

fixes #1264
Documentation update

This commit fixes some inconsistent or outdated keys in the
documentation. More specifically:

* allowSessionOverride is no longer a template parameter
* templateEncoding has been renamed to charSet
* Groovy templates do not have the same configuration hierarchy, hence
  they don't share all settings
* spring.data.elasticsearch.local does not seem to exist
* flyway prefix and suffix should be sqlMigrationPrefix and suffix
* spring.rabbitmq.virtualHost had a typo
* endpoints.error.path is not a valid property
* shell.command-path-patterns had a typo
* spring.datasource.max-wait had a typo

Fixes gh-1226
Add java options for Heroku Procfile

Added $JAVA_OPTS variable to the sample Heroku Procfile.
If this is left out it can cause memory issues when the app starts.

Fixes gh-1266
Ensure custom HTTP code mappings for /health don't remove default mappings

Previously any custom http code mapping would remove the default mappings. With this commit the behaviour is changed so that default mappings will stay if a custom mapping is registered. Certainly a default mapping can be overridden.

fixes #1264
Use class name not value to support non-Hibernate JPA vendors

With this change I got a simple Eclipselink version of the data-jpa
sample working. I'll push that when I get time to research it a bit more
(I needed to set up a Java agent so either that might be a problem
for our integration tests if we can't work around it).

Fixes gh-1268.
Merge branch '1.1.x'
Correct the profile name in Travis configuration
Merge branch '1.1.x'
Correct the descriptions of two sample projects
Merge branch '1.1.x'
Change query in MongoHealthIndicator

This commit changes the query in MongoHealthIndicator from serverStatus to buildInfo to avoid unprivileged access and corresponding errors.

fixes #1289
Change query in MongoHealthIndicator

This commit changes the query in MongoHealthIndicator from serverStatus to buildInfo to avoid unprivileged access and corresponding errors.

fixes #1289