Fix null parameterName issue in content negotiation

After this change ParameterContentNegotiationStrategy no longer allows
a null parameter name, ContentNegotiationManagerFactoryBean also
requires it.

Issue: SPR-10139
Fix ClassCastException when setting media types

Issue: SPR-10019
Merge branch 'cleanup-3.2.x' into 3.2.x

* cleanup-3.2.x:
  Enable execution of TestNG tests in spring-test
  Polish support for topic branch-specific versions
  Segregate add'l long-running and performance tests
  Eliminate EBR dependencies and repository config
  Skip creation of IDEA metadata for spring-aspects
  Fix Eclipse compilation error in Gradle plugin
  Polish build.gradle
Merge branch 'cleanup-3.2.x' into 3.2.x

* cleanup-3.2.x:
  Use unmodified 'version' when not on a topic branch
Merge branch 'cleanup-3.2.x' into 3.2.x

* cleanup-3.2.x:
  Eliminate AJ @Async warning in test case
  Update Apache license headers for moved files
  Move namespace tests to root integration module
  Fix several miscellaneous compiler/Eclipse warnings
  Remove duplicate test resources
  Fix warnings due to unused import statements
  Update Apache license headers for affected sources
  Remove duplicate test classes
  Replace test beans with test objects
  Polish test sourceSet dependencies
  Add test dependencies sources for testCompile
Detect split packages at build time

Split packages are a well-known anti-pattern for OSGi and a blocker for
Eclipse Virgo (which prevents split packages being accessed via its
Import-Library construct).

Split packages are also unhelpful with a traditional linear classpath
as a split package name does not uniquely identify the Spring framework
JAR from which it came, thus complicating problem diagnosis and
maintenance.

Juergen Hoeller supports this position in the following comment in
SPR-9990:

>FWIW, I generally find split packages a bad practice, even without
>OSGi in the mix. For the Spring Framework codebase, I consider a
>split-package arrangement a design accident that we want to detect
>in any case - and that we're willing to fix if it happened.
>
>I'm actually equally concerned about the source perspective: After
>all, we want a package to be comprehensible from a single glance
>at the project, not requiring the developer to jump into several
>source modules to understand the overall layout of a package.

Split packages have crept into Spring framework twice in recent months
- see SPR-9811 and SPR-9988. Currently, they are only detected once
the Spring framework has been converted to OSGi bundles and these
bundles have been tested with Eclipse Virgo.

This commit adds a build-time check for split packages to the Spring
framework build.

Issue: SPR-9990

Conflicts:

	build.gradle
Example SplitPackageDetectorPlugin
Rework split package detection code

Allow packages to be split across projects which will be merged into a
single JAR file.

Make split package detection a dependency of the 'check' task. This
is idiomatic gradle as well as allowing the 'test' task (another
dependency of 'check') to be executed without split packages being
detected.

Omit the project spring-instructment-tomcat from the check on the basis
of SPR-10150.

Issues: SPR-9990, SPR-10150

Conflicts:

	build.gradle
Support "X-Forwarded-Host" in UriComponentsBuilder

ServletUriComponentsBuilder now supports setting the host to the
value held in the X-Forwarded-Host [0] header used in reverse
proxy scenarios.

[0] http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded-10

Issue: SPR-10110
Merge branch 'cleanup-3.2.x' into 3.2.x

* cleanup-3.2.x:
  Gradle 'api' task depends on 'jar' tasks
  Mark all IsFastEnough tests as performance tests
Add support for placeholders in @RequestMapping

@RequestMapping annotations now support ${...} placeholders.

Issue: SPR-9935
Add 3.1 migration section to reference docs

Address error raised when using component-scan against the unqualified
"org" base package.

Issue: SPR-9843
Merge branch 'SPR-9843' into 3.2.x

* SPR-9843:
  Add 3.1 migration section to reference docs
Fix issue in BufferedImageHttpMessageConverter

This change ensures BufferedImageHttpMessageConverter writes when
"*/*" is requested.

Issue: SPR-7763
Add decoding matrix variable values

Issue: SPR-10140
Update mvc chapter on annotations and proxies

Issue: SPR-10132
Remove closing tag in form tag's extra hidden fields

The fields returned from a RequestDataValueProcessor are now
written as hidden fields without a closing tag.

Before:
<input type="hidden" name="xxx" value="yyy"></input>

After:
<input type="hidden" name="xxx" value="yyy" />

Issue: SPR-10103
Add support for HTTP OPTIONS in Spring MVC Test

Issue: SPR-10093
Merge pull request #205 from acogoluegnes/SPR-10093

* tmp:
  Add support for HTTP OPTIONS in Spring MVC Test
Update license header for recently modified files

Issue: SPR-7763, SPR-10140, SPR-10132, SPR-10093, SPR-10103