Add scope=test to hsqldb (fixes #330)
Fix binding of overlapping nested maps

When binding a nested map structure, RelaxedDataBinder pre-populates
the target object with default empty maps. Previously, when these
structures overlapped, each step in pre-population process could
potentially overwrite what had come before it. This led to the output
of the pre-population process being incomplete which would lead to a
binding failure.

This commit updates the pre-population process so that it checks to see
if a property's value has already been set by an earlier step in the
process. If it has been set, the existing value is now reused rather
than being overwritten by a new empty map.

Fixes #328
Add placeholder resolution to @PropertySource processing

Previously the core Spring processing of @PropertySource would
resolve placeholders in the location attribute, but the pre-loading
of the property source by Spring Boot didn't do that. Now implemented
using Environment.resolvePlaceholders() (N.B. at a time when the only
Environment entries available are system properties and OS env vars).

E.g.

	@Configuration
	@PropertySource("classpath:/${source.location}.properties")
	protected static class WithPropertySourcePlaceholders {
           ...
	}
Now custom SpringApplication class can be used when extending SpringApplicationContextLoader
Merge pull request #336 from jkubrynski/master

* pull336:
  Now custom SpringApplication class can be used when extending SpringApplicationContextLoader
Polish
Don't register shutdown hook from embedded context

Change `EmbeddedWebApplicationContext` to no longer automatically call
`registerShutdownHook()`. Shutdown hooks must now be registered by the
caller (for users of SpringApplication this will happen automatically).

Fixes gh-314
Consistent javadoc "code" block formatting

Update javadoc to consistently use the "code" style with <pre> blocks.
Also include the latest spring-javadoc.css formatting file.

Fixes gh-332
Polish ConfigFileApplicationListenerTests

Add "my.property" to `application.properties` in order to test ordering
or property sources.

Also use hamcrest for assertions.
Consistent property source ordering with names

Update ConfigFileApplicationListener so that custom names and custom
locations use consistent ordering. i.e. earlier items take precedence
(same as @ProperySource).
Refactor PropertySource support

Locate PropertySourcesLoaders using SpringFactoriesLoader and refactor
the interface to expose file extensions and support 'profiles' within
documents.

Rework ConfigFileApplicationListener for consistent profile loading.
Profiles are now loaded in a consistent order for both profile specific
files, and contained profile documents (i.e. YAML sub-sections).

Also update ConfigFileApplicationListener so that it no longer directly
processes @ProperySource annotations. Instead the standard Spring
ConfigurationClassPostProcessor will insert @PropertySource items with
ConfigFileApplicationListener later re-ordering them.

The SpringApplication can no longer be configured using @ProperySource
annotations, however, application.properties may still be used.

Fixes gh-322
Defensive catch block in LogbackLoggingSystem

Older versions of JBoss AS have a classpath clash with an older
SLF4J (pre 1.6.5), so to prevent an app from blowing up on
startup we defensively catch a NoSuchMethodError.

Fixes gh-339
Upgraded to Spring Data Codd

Update AbstractRepositoryConfigurationSourceSupport to use the newly
introduced RepositoryConfigurationDelegate instead of effectively
reimplementing Spring Data Commons functionality which was prone to
changes in the API (code that wasn't considered to be API in the first
place).

Switch from implementing BeanClassLoaderAware to ResourceLoaderAware
to avoid having to set up a DefaultResourceLoader which should also
improve IDE integration.

Fixes gh-236
Generate a list of autoconfig for docs
Add generator app for simple table of *AutoConfiguration

Run with "mvn spring-boot:run" and then scrape the Markdown from stdout.
(Result already added to docs/autoconfig.md.)
Load profile files that include 'spring.profiles'

Fix ConfigFileApplicationListener to load profile specific files
(*-profile.ext) both as a root document, and again with the profile
active.

This allows profile specific files to still include a 'spring.profiles'
property if they wish.

Issue: gh-340
Revert "Add generator app for simple table of *AutoConfiguration"

This reverts commit 89283e46b8162775b7663d84795325fec32a931b.

Revert until we can find a new home, outside of the usual build
process.
Polish
A few more package tweaks

Improve package structure and include package-info javadoc.
Add ConfigFileApplicationContextInitializer

Reintroduce ConfigFileApplicationContextInitializer for tests that
wish to reuse 'application.properties' configuration.

Fixes gh-344