Migrate reference guide to well-formed docbook XML

Convert all docbook XML files to well-formed docbook 5 syntax:
 - Include xsi:schemaLocation element for tools support
 - Convert all id elements to xml:id
 - Convert all ulink elements to link
 - Simplify <lineannotation> mark-up
 - Fix misplaced </section> tags
 - Fix <interface> tags to <interfacename>
 - Cleanup trailing whitespace and tabs

Issue: SPR-10032
Remove duplicate imagedata from reference guide

Prior to this commit many imagedata elements were duplicated in
order to configure PDF sizes. Since HTML generation is configured
to ignore image scaling altogether this was unnecessary duplication.

Issue: SPR-10033
Update Spring logo in the PDF reference guide
Drop Appendix E. spring-beans-2.0.dtd from docs

Issue: SPR-10011
Remove xsd versions from reference samples

Remove all xsd versions from the reference manual samples in favor of
"versionless" XSDs. For example, spring-beans-3.0.xsd becomes
spring-beans.xsd

Issue: SPR-10010
Polish maven samples to xml language

Set the language attribute on the maven <programlisting> elements
in the reference documentation to xml.
Restore custom reference manual titlepage

Restore the custom title page of the reference manual in order to
remove the large list of authors on the first page.

Note: This change will require updating to version 0.1.7 of the
docbook-reference-plugin when it is released.

Issue: SPR-10008
Update whats new in Spring 3.2

Issue: SPR-10015
Update reference docs to a more modern CSS style

This change upgrade the framework to consume the newly-published
docbook-reference-plugin version 0.2.0, which includes among other
improvements a revamped CSS approach designed to look as similar
as possible to the way markdown files are rendered by GitHub.

See associated commit [1] at SpringSource's gradle-plugins repo for
further details.

Issue: SPR-10036

[1]: https://github.com/SpringSource/gradle-plugins/commit/b209c350ed76c10815815ab320c2379e8de3fec9
Introduce AnnotationAwareOrderComparator#INSTANCE

Prior to this change, the INSTANCE constant one could refer to on
AnnotationAwareOrderComparator actually referred to the constant
declared in the OrderAwareComparator superclass. Thus
AnnotationAwareOrderComparator#INSTANCE did not actually return an
AnnotationAwareOrderComparator but an OrderAwareComparator instead. This
commit introduces a dedicated constant on AnnotationAwareOrderComparator
to avoid this glitch.

Issue: SPR-10038
Merge pull request #188 from olivergierke/SPR-10038

# By Oliver Gierke
* SPR-10038:
  Introduce AnnotationAwareOrderComparator#INSTANCE
Polish whitespace and formatting
Add spring-test-mvc tests with Spring HATEOAS links

Issue: SPR-9886
Add MockMvcClientHttpRequestFactory

Issue: SPR-9917
Update maximum width of reference HTML

This change upgrade the framework to consume the newly-published
docbook-reference-plugin version 0.2.1 containing a maximum width
for the HTML reference guide.
Fix failing test from last commit

Issue: SPR-9917
Fix issue in Callable processing interceptor chain
Java 5 Closeable and Java 7 AutoCloseable automatically detected as destroy methods

Also, @Bean destroy method inference not applying for DisposableBean implementers anymore (avoiding double destruction).

Issue: SPR-10034
Final preparations for 3.2 RC2
Remove reflection usage in orm.hibernate4.*

Previously reflection was required when interacting with Hibernate 4 in
order to support both Hibernate 3 and Hibernate 4 since there were
non-passive changes in the APIs. Now that the Spring build uses Gradle
it is trivial to support multiple Hibernate versions.

This commit removes the reflection usage in orm.hibernate4.* by
creating a spring-orm-hibernate4 module that uses
gradle/merge-artifacts.gradle to build a single artifact but keep
distinct classpaths.

Issue: SPR-10039