Polish Spring Mobile Auto-configuration

Update Spring Mobile support with the following changes:
- Apply source formatting
- User lowercase property prefixes
- Use dashed notation when accessing properties
- Inline some constants

See gh-1049
Polish social appendix settings examples
Restore dependency-tools API compatibility

Refactor dependency-tools to restore API compatibility with Spring
Boot 1.0. This should reduce reflection hacks that tools such as Gretty
would otherwise have to make.

See gh-1035
Generate and attach dependency-tree

Update spring-boot-versions to generate a dependency-tree file and
attach it as an artifact. The file is generated by creating a temporary
POM and calling the invoker plugin.

The spring-boot-versions POM now depends on all spring-boot-starter-*
POMs to ensure that they have been installed before the dependency
tree is processes.

See gh-1047
Support transitive excludes in dependency-tools

Update spring-boot-dependency-tools to support transitive excludes.
Transitive excludes are useful with Gradle which considers each
dependency independently (see GRADLE-3061).

Transitive excludes are supported by parsing the dependency-tree file
from spring-boot-versions.

See gh-1047
Support automatic exclude rules with Gradle

Update the Spring Boot Gradle plugin to automatically apply exclude
rules to dependencies.

See gh-1047
Remove superfluous commons-logging excludes

Update all starter POMs to remove commons-logging dependencies that are
not longer required when using the Spring Boot Gradle plugin.

Mainly reverts code from 196f92bd422778aebe5706b84cc8ffe9bc298878

See gh-1047
Merge branch 'gh-1047'
Add starters to prepare build
Add missing settings.xml file

See gh-1047
Add @Conditionals to permit JPA/Mongo mixed usage

I decided to go with both approaches (make the autoconfig for
repositories @ConditionalOnMissingBean(RepositoryFactoryBeanSupport),
so the first one wins; and also make them conditional on
spring.data.*.repositories.enabled=true. The ordering problem
is still there really (it's not defined which repositories will
be created by the autoconfig), so if a user is going to have
2 repository implementations on the classpath, he is going to
have to either choose one to disable, or manualy @Enable* the
other one.

Fixes gh-1042
Fix compilation error