Also flag deprecated properties in a @Deprecated class

Previously, any property defined in a @Deprecated class were not marked
as deprecated as only the getter or field was inspected for the
annotation.

An additional check on the class has been added to handle this case.

Fixes gh-2014
polish
Allow /health to be accessed anonymously irresepctive of its sensitivity

The changes in 3bb598a overload the health endpoint's sensitive
property such that it's now considered sensitive if management
security is enabled. When an endpoint is sensitive anonymous
access is prevented. This breaks the health endpoint which should
return a filtered view of the server's health when it's accessed
anonymously rather than rejecting the request.

This commit introduces AnonymouslyAccessibleMvcEndpoint, a marker
extension of the MvcEndpoint interface. It is implemented by
HealthMvcEndpoint. ManagementSecurityAutoConfiguration has been
updated to allow anonymous access to endpoints that aren't sensitive
or that implement AnonymouslyAccessibleMvcEndpoint.

Fixes gh-2015
Better handling of anonymously accessible endpoints

Shares the /health endpoint request mapping between security config
and MVC dispatcher. Generalizes so that instead of a marker
interface (AnonymouslyAccessibleMvcEndpoint), an MvcEndpoint
signals that it wants to control its own access rules by adding
a Principal to the @RequestMapping method parameters (more @MVC).

Fixes gh-2015 slightly differently
Remove warnings for expected deprecation usage
Add java.version to Tomcat WAR projects
Add 2 more JsonParser implementations
Ensure authentication events get published

When the user provides their own AuthenticationManager we do a lazy
initialization and didn't (till now) inject the AuthenticationEventPublisher

Fixes gh-2033
Polish formatting
Fix concurrent gaugeLocks map access

Use putIfAbsent to ensure atomic creation of lock objects.

Fixes gh-1995
Make ErrorPageFilter public

Change the visibility of ErrorPageFilter to public to fix
IllegalAccessException errors on certain servlet containers.

Fixes gh-2026
Merge branch '1.1.x'

Conflicts:
	spring-boot/src/main/java/org/springframework/boot/logging/LoggingApplicationListener.java
Polish concurrent gaugeLocks map access

See gh-1995
Merge branch '1.1.x'
Polish
Apply formatting and cleanup rules
Use a free port, rather than 8080, in WebSocketAutoConfigurationTests

Closes gh-2043
Allow the SpringApplication class used by the CLI to be configured

This commit adds support to the CLI for launching a custom
SpringApplication implementation. The class that is launched can be
configured using the spring.application.class.name System property
or the SPRING_APPLICATION_CLASS_NAME environment variable with the
former taking priority.

Closes gh-2030
Add some space between the trace filter and the end of the chain
Make Security auto-config conditional on spring-security-config

SecurityAutoConfiguration, via its import of
AuthenticationManagerConfiguration, requires spring-security-config
to be on the classpath as AuthenticationManagerConfiguration extends
GlobalAuthenticationConfigurerAdapter from spring-security-config.

This commit makes SecurityAutoConfiguration conditional on the
presence of GlobalAuthenticationConfigurerAdapter so that the
auto-configuration will be disabled in its absence rather than causing
an app to fail to start.

Closes gh-2046