Make TypeDescriptor more amenable to subclassing

Change the previously package scope TypeDescriptor constructor to
protected and add a getResolvableType() protected method.

Issue: SPR-11303
Provide 'with implementationType' overloads

Provided overloaded versions of `forField` and `forMethodParameter` that
accept a `ResolvableType` implementation type (as opposed to a Class).

Primarily added to allow resolution against implementation types that
have been created programmatically using `forTypeWithGenerics`.

Issue: SPR-11218
Updated optional dependencies to most recent minor versions
Update org and repo info in gradle build config

Issue: SPR-11213
Fixed assert in setAspectJAdvisorFactory()

Issue: SPR-11330
Exposing AspectJ 1.7.4 to users, only using AspectJ 1.8.0.M1 for ajc in our build

Issue: SPR-11273
Allow setting Cookie header

Issue: SPR-11332
Add section on test STOMP/WebSocket applications

Issue: SPR-11266
Fix typo in reference

Issue: SPR-11311