Add @Override to remaining source files

Issue: SPR-10130
Update the README to use JDK1.8 b88
GenericTypeResolver defensively calls Class.getGenericSuperclass() and consistently uses Class<?>

Issue: SPR-10559
Detect a FactoryBean type match even if predictBeanType returned a non-FactoryBean type

This change should be the final piece in the puzzle to let SmartInstantiationAwareBeanPostProcessor's predictBeanType predict a FactoryBean-produced type, effectively as a semantic alternative to its postProcessBeforeInstantiation-related role.

Issue: SPR-10517
Consistent use of Class<?> in core container method signatures
Update to Gradle 1.6
Add spring-websocket module tests
Upgrade spring-websocket to Jetty 9.0.3
Remove isLast flag from WebSocketMessage
Clarified that CronTrigger never schedules overlapping executions

Issue: SPR-10556
Polishing
Add Javadoc
Fix deadlock issue in DeferredResult

Previously DeferredResult locked around the setting of the result
including handling up to the part of submitting a dispatch. This
can cause a deadlock if a timeout occurs at the same time since
the Tomcat timeout thread has its own locking that permits only
one thread to do timeout or dispatch processing.

The fix reduces the locking to cover only the attempt to set the
DeferredResult but not the dispatching.

Issue: SPR-10485
Reinstate removal of semicolon content

Commit 5b1165 was an attempt to leave semicolon content in the URL path
while ignoring it for request mapping purposes. However, it becomes
quite difficult to manage and semicolon content should not always be
ignored (sometimes a semicolon is used as a separator of multiple items
in a path segment, rather than for matrix variables).

This change effectively reverts back to the original approach in 3.2
where a flag on AbstractHandlerMapping can be used to have semicolon
content removed or kept. If kept, path segments with matrix variables
must be represented with a path segment.

The main difference is that by default it is removed everywhere
including the MVC namespace and Java config.

Issue: SPR-10427, SPR-10234
Make removal of jsessionid case insensitive

Issue: SPR-10398
Ensure Parent ConfigurationClass loaded on overrides

Previously ConfigurationClassParser could override a nested
@Configuration without consideration of @Bean's defined in parent
classes.

This commit ensures that if the original ConfigurationClass contains
additional bean definitions it is processed again.

Issue: SPR-10546
(cherry picked from commit 940011e)
Properly handle knownSuperclasses in case of an overridden ConfigurationClass

Issue: SPR-10546
(cherry picked from commit 6e4317e)
Fixed type detection to avoid reuse of parent bean's targetType on child definition merge

Issue: SPR-10374
Polishing
Avoid unnecessary creation of default StandardEnvironment instances

Issue: SPR-10568