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
(cherry picked from commit 559e81b)
Accept empty Content-Type header

Issue: SPR-12173
(cherry picked from commit 70412a9)
Client request implementations enforce RFC 6265 (cookies in a single header)

Issue: SPR-12196
(cherry picked from commit 26a93b6)
GenericTypeAwarePropertyDescriptor implements equals/hashCode for proper lookups on IBM JVM 6

Issue: SPR-12185
Polishing