Make SpringApplication.getSources() do what it says on the can

We still need the distinction internally between initial and additional
sources, but the SpringApplication API (getSources()) itself doen't
need to reflect that.
Parse @PropertySource annotations on SpringApplication sources

If any of the sources has a @PropertySource annotation (or many)
then we can add those properties to the Environment. It's a nice
convenient way of specifying a custom external properties location
for an app.

One problem is that Spring will come along and parse the same
annotations later as part of the @Configuration parsing. The
user has pretty limited control over how that is done, and it
will never be done in a "natural" way for a Boot application
(which would prefer that the default application.properties
is applied *last*, whereas Spring will apply the @PropertySource
last).

To get round that problem we add the property sources with
a different name (key in the PropertySources in Environment),
prefixing named property sources with "boot.", and adding
others with a name that is the same as the resource location
(instead of its description, which is the default for
Spring).

Another problem is that Spring doesn't know about YAML, so
the user is currently restricted to using properties files
with this annotation.
Add PoolConfig to Redis
Adjust @PropertySource handling so @Conditionals are accounted for

User can now do this, for instance:

    @Configuration
    @PropertySource("classpath:my.properties")
    public class MainConfiguration {}

    @Configuration
    @PropertySource("classpath:foo.properties")
    @Profile("foo")
    public class FooConfiguration {}

and the "foo" properties ar eonly loaded in the "foo" profile.
Close connection properly in /health

Fixes gh-181
Add database query defaults in SimpleHealthManager
Add basic build.xml to actuator sample

    $ ant -lib ivy-2.2.jar

(substitute the location of your actual ivy jar)

    $ java -jar target/*.jar

Fixes gh-140
Fix bizarre compiler error
Add ShellCommand and friends
Add basic Banner to CLI Shell
Remove CLI_APP name if in shell
Prevent more than one app at a time from running
Change command set when entering shell

Fixes gh-147
Add instanceof check and nice fat error message

If Logback and another SLF4J implementation are both on the classpath
it is possible for the LogbackLoggingSystem to fail to locate
a LoggerContext. Rather than a ClassCastException it is better to
make an assertion with an error message.

Fixes gh-162
Re-org README a bit
Reduce spacing between bullets
Support for Jetty 9
Rework EndpointMBeanExporter to prevent name clashes and to provide more flexibility in naming of endpoint MBeans
Add JobExplorer and JobOperator
Ensure app index is used when profiles actrive