Fix ResourceUrlProvider path check in getForRequestUrl

Prior to this change, getForRequestUrl implementation would only work
for applications with a non-empty servlet path. So web applications
mapped to "/" would trigger a IllegalStateException while checking the
current request against the request path within the current mapping.

This change relaxes this and only check that the path within mapping is
within the request URL.

Issue: SPR-12158
Workaround for Derby's limited support for JDBC 4.1 getObject(index, requiredType)

Issue: SPR-12157
Polishing
Make SocketUtils a concrete class

Per the Javadoc for the SocketUtils() constructor, SocketUtils can be
instantiated as a Spring Bean in XML configuration files; however,
SocketUtils is currently abstract which prevents such usage.

This commit removes the 'abstract' declaration thereby allowing
SocketUtils to be instantiated as a Spring bean.

Issue: SPR-12169
Consistent support for java.util.Optional for all applicable handler method arguments

Issue: SPR-12171
Polishing
Generalized workaround for JDBC 4.1 getObject(index, requiredType) failures on MySQL and Derby

Issue: SPR-12174
Issue: SPR-12157
Accept empty Content-Type header

Issue: SPR-12173
CompositePropertySource allows for access to its nested property sources

Issue: SPR-12182
GenericConversionService detects enum subclasses as well

Issue: SPR-12181
CachedIntrospectionResults uses ConcurrentReferenceHashMap for its type descriptor cache

Issue: SPR-12185
Polishing
Set Jackson DEFAULT_VIEW_INCLUSION property to false by default

Issue: SPR-12179