Ensure JUnit & TestNG tests run in spring-test

Prior to this commit, the Gradle build configuration only executed
TestNG-based tests and effectively disabled all JUnit-based tests in the
spring-test module. Furthermore, TestNG-based tests were not properly
reported in Bamboo CI builds.

This commit ensures that both JUnit and TestNG tests are executed in the
Gradle build by defining a new testNG task within the spring-test
configuration. The test task now depends on the new testNG task.
Furthermore, the testNG task makes use of Gradle 1.3's support for
generating test reports for TestNG tests alongside reports for JUnit
tests. The net effect is that all tests are executed and reportedly
properly in Bamboo builds on the CI server.

- Enabled both JUnit and TestNG tests for the spring-test module.
- Corrected bugs in FailingBeforeAndAfterMethodsTests introduced in
  commit 3d1b3868fe3b38f5552883f54111c53f6ee75572.
- Deleted the now obsolete SPR-9398.txt file.

Issue: SPR-9398
Marked LocalCacheProviderProxy as deprecated (following Hibernate 3.3.'s CacheProvider deprecation)
MessageSourceResourceBundle overrides JDK 1.6 containsKey method, avoiding NPE in getKeys

Issue: SPR-10136
AbstractAdvisingBeanPostProcessor caches per bean target class, working for null bean names as well

Issue: SPR-10144
MimeMessageHelper encodes attachment filename if not ASCII compliant

Issue: SPR-9258
FreeMarkerConfigurationFactory properly supports TemplateLoaders when recreating Configurations

Issue: SPR-9389
SpringContextResourceAdapter implements equals/hashCode according to the JCA 1.5 contract

Issue: SPR-9162
Added dedicated sort method to AnnotationAwareOrderComparator

Issue: SPR-9625
AnnotationAwareOrderComparator is able to sort Class objects as well

Issue: SPR-10152
AnnotationAwareOrderComparator etc
Polish Javadoc in CookieValue and RequestHeader
Use explicit JDK versions in aspects.gradle

Previously aspects.gradle used the Gradle conventions for the source
and target compatibility. This means that unless the conventions were
updated the current JDK would be used for both source and target
compatibilty. Since an update to build.gradle changed to configure the
compileJava and compileTestJava tasks explicitly spring-aspects has
been compiled with JDK 7 compatibility.

This commit explicitly uses the source and target compatibility from
spring-core to ensure that aspects.gradle is kept up to date.

Issue: SPR-10161
Update Javadoc for MockMvc

Deleted reference to the obsolete configureWarRootDir() method from the
stand-alone spring-test-mvc project.
Exclude stax test dependency

Exclude transitive stax 1.0 dependency to prevent compile time
eclipse errors.
Exclude eclipse WTP generated artifacts
Replace space indentation with tabs

Issue: SPR-9990
Refactor detect-split-packages Gradle plugin

 - Use conventional plugin naming, i.e. "detect-split-packages" instead
   of applying plugin based on fully-qualified class name

 - Rename "diagnose" => "detect" consistently throughout plugin, task
   and method names and generally refactor naming throughout to follow
   "detect split packages" phrasing

 - Add Javadoc to DetectSplitPackagesPlugin

 - Improve error reporting when split packages are detected

   Upon detecting one or more split packages, `detectSplitPackages` now
   fails idiomatically, throwing a GradleException to signal task failure
   (as opposed to the previous approach of using an assert assertion), and
   the output reads as follows:

       $ gradle detectSplitPackages
       [...]
       :buildSrc:build UP-TO-DATE
       :detectSplitPackages FAILED

       FAILURE: Build failed with an exception.

       * What went wrong:
       Execution failed for task ':detectSplitPackages'.
       > The following split package(s) have been detected:
          - org.springframework.beans (split across spring-beans and spring-orm)
          - org.springframework.core.env (split across spring-context and spring-core)

 - DetectSplitPackagesTask now automatically attaches itself to `check`
   task lifecycle if the enclosing project contains a `check` task

 - DetectSplitPackagesTask adds itself to the 'Verification' task group,
   ensuring that it shows up correctly in `gradle tasks` task listings

 - packagesToScan now defaults to all subprojects; users may then
   customize this by removing individual subprojects from the collection

Issue: SPR-9990
Merge pull request #214 from glyn/SPR-9990

# By Chris Beams (2) and others
* SPR-9990:
  Refactor detect-split-packages Gradle plugin
  Replace space indentation with tabs
  Rework split package detection code
  Example SplitPackageDetectorPlugin
  Detect split packages at build time
Polish changes from pull request #205

 - Replace space intendation with tabs
 - Remove leading tabs on otherwise empty lines
 - Remove illegal {@link ...} syntax in Javadoc @see reference

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

* SPR-10093:
  Polish changes from pull request #205