Remove duplicate JreProxySelector

Since we upgraded Aether we now have the native JreProxySelector
available so we don't need to keep a copy ourselves.
Extract AbstractHealthIndicator

to make it more simple to implement HealthIndicator
Cleanup eclipse formatter settings

Sync the explicit setting with 'project specific settings' in case
the eclipse plugin is not used.
Various improvements to the Gradle plugin

Refactor and rework several areas of the Gradle plugin:

- Refactor package structure into functional areas and configure each
  area separately via a new PluginFeatures interface.
- Convert BootRunTask to extend RunTask rather than attempting to
  find existing RunTasks.
- Simplify agent integration by no longer needing specific BootRunTask
  code.
- Update the repackage task to consider the `mainClassName` property
  in addition to `springBoot.mainClass`.
- Automatically set `mainClassName` when calling `run` or `runBoot`
  from `springBoot.mainClass` if there is one.
- Ensure that explicitly defined `main` options on JavaExec tasks always
  take precedence.

Fixes gh-547, gh-820, gh-886, gh-912
Update SolrHealthIndicator to extend AbstractHealthIndicator
Upgrade to Spring Batch 3.0.0.RELEASE

Closes #906
Polish
Continue to support spring.jpa.hibernate.namingstrategy

In 1.0, the property spring.jpa.hibernate.namingstrategy could be
used to configure Hibernate's naming strategy. This was at odds with
most other configuration where binding to namingStrategy would require
a property with some indication that it was two separate words, for
example: naming-strategy, naming_strategy, or namingStrategy

This commit adds a new setter, setNamingstrategy, to JpaProperties so
that an app that was using namingstrategy in 1.0 continues to work
in 1.1.

Issue #928
Polish
Update docs for new extended health support

fixes #930
Fix multiple typos in documentation, as well as "thread.deamon" typo in actuator
Deprecate and warn on namingstrategy

Deprecate setNamingstrategy() and log a warning letting people know
that they should use `naming-strategy`.

Issue #928
Fix typo in Javadoc

Fixes gh-938
Remove trailing whitespace
Merge branch '1.0.x'
Add servlet path to /error if it is customized

In addition I added some convenience methods to ServerProperties
(servletMapping() and servletPrefix()) for manipulating the
servlet path as provided by the user (e.g. normalizing it into
a valid Servlet mapping path for the DispatcherServlet).

Fixes gh-939, see also gh-936
Make Health and Status immutable

Update Health and Status objects to be immutable, update the existing
builder methods to return new instances and add static convenience
methods to Health.
Rename SimpleDataSourceHealthIndicator

Rename SimpleDataSourceHealthIndicator to DataSourceHealthIndicator.
Add test for servletMapping()
Dont’t auto-configure FreeMarker and Velocity without context-support

Boot’s auto-configuration for FreeMarker and Velocity relies on Spring’s
support for them that’s packaged in spring-context-support. Only
auto-configure them if their respective Spring classes are on the
classpath

Fixes #940