Enhance JarCommand to support lists of includes and excludes

The lists are comma separated. In addition, user can add prefixes
"+" or "-", to signal that those values should be removed from the
default list, not added to a fresh one. E.g.

$ spring jar app.jar --include lib/*.jar,-static/** --exclude -**/*.jar

to include a jar file specifically, and make sure it is not excluded,
and additionally not include the static/** resources that would otherwise
be included in the defaults. As soon as "+" or "-" prefixes are detected
the default entries are all added (except the ones exlcuded with "-").

Fixes gh-1090
Ensure Weblogic and Websphere JMX are covered

To ensure an MBeanServer is available when needed you have to
look in JNDI before resorting to the JDK platform factory.

I had to copy some private code from Spring, but it seems
worth it.

Fixes gh-1092
Ignore test that is WIP
Re-instate test when fixed
Remove workaround for bug they fixed in Groovy
Polish
Allow prefixed bytes with fat JARs

Update `spring-boot-loader` ZIP processing code to support prefixed
bytes within the fat jar. This technique allows a bash script to be
embedded at the start of the JAR whilst still allowing `java -jar`
execution.

Fixes gh-1073
Improve error message on condition exceptions

Catch exceptions thrown from SpringBootCondition and re-throw with
more context.

See gh-1098
Be defensive about factory beans in ConfigurationPropertiesBindingPostProcessor
Add integration test for "gradle install"

See gh-1105
Ensure CompositePropertySources are listed in EnvironmentEndpoint
Increase priority of EndpointHandlerMapping

The Actuator endpoints ought to take precedence over others (since
they are important and users can isolate them using management.contextPath
if necessary). This change puts the @Order at -100 (well before the default
order of the RequestMappingHandlerMapping at 0).

Fixes gh-1107
Add @Conditional to prevent HATEOAS blowing up

Spring Plugin is required when using @EnableHypermediaSupport
Add @EnableEntityLinks to hypermedia support
Add @Conditional to prevent HATEOAS blowing up
Grab main class from "run" task if it exists

The test is a bit crap at the minute (no assertion), but the build
is successful and you can see from the log that the correct main
is used

Fixes gh-1099