Fix SpEL JavaBean compliance for setters

Prior to this change, SpEL was capable of handling getter methods for
property names having a lowercase first letter and uppercase second
letter such as:

    public String getiD() { ... }

However, setters with the same naming arrangement were not supported,
e.g.:

    public void setiD() { ... }

This commit ensures that setters and getters are treated by SpEL equally
in this regard, such that "iD"-style property names may be used anywhere
within SpEL expressions.

Issue: SPR-10122, SPR-9123
Merge pull request #206 from daveboden/SPR-10122

* SPR-10122:
  Fix SpEL JavaBean compliance for setters
Fix regression in static setter method support

The intention of ExtendedBeanInfo, introduced with SPR-8079 in
v3.1.0.M2, was to support dependency injection against non-void
returning write methods. However, it also inadvertently introduced
support for injection against static setter methods.

When use of ExtendedBeanInfo was made optional with SPR-9723 in
v3.2.0.M2, ExtendedBeanInfo continued to support static write methods,
but its new BeanInfoFactory-based approach to testing whether or not
a given bean class contains candidate write methods was written in a
fashion exclusive of static methods, and this thereby introduced a
regression - a regression in an otherwise undocumented and unintended
feature, but a regression nevertheless.

The reporting of SPR-10115 proves that at least one user has come to
depend on this behavior allowing injection against static write
methods, and so this commit fixes the regression by ensuring that the
candidacy test includes standard and non-void setter methods having a
static modifier.

Issue: SPR-10115, SPR-9723, SPR-8079
Merge branch 'SPR-10115' into 3.2.x

* SPR-10115:
  Fix regression in static setter method support
Improve 'build' folder ignores

Update .gitignore to only ignore 'build' folders in the project roots
rather than throughout the source tree.
Upgrade to xmlunit version 1.3
Fix [deprecation] compiler warnings

Fix deprecation compiler warnings by refactoring code or applying
@SuppressWarnings("deprecation") annotations. JUnit tests of
internally deprecated classes are now themselves marked as
@Deprecated.

Numerous EasyMock deprecation warnings will remain until the
migration to mockito can be completed.
Expose Gradle buildSrc for IDE support

Create 'spring-build-src' Gradle module that exposes the buildSrc
folder as an IDE project.
Develop a gradle plugin to add test dependencies

Develop a gradle plugin to automatically update testCompile dependencies
to include the test source sets of project dependencies.

Allows the gradle build to more closely mirror the way that tests run
inside eclipse.
Relocate MergePlugin package

Relocate the MergePlugin from org.springframework.build.gradle.merge
to org.springframework.build.gradle.
Move spring-build-junit into spring-core

Move code from spring-build-junit into spring-core/src/test along with
several other test utility classes. This commit removes the temporary
spring-build-junit project introduced in commit
b083bbdec720d3f5b1c7f065dfe8ccb7a7f3b201.
Exclude spring-build-src from maven publish
Revert "Merge branch 'SPR-10130' into cleanup-master"

This reverts commit 45fa50821a14d5b3f40a7c318137406ba6a2ca2e, reversing
changes made to a312d900f812586e4d0614c9c5904eb16f059509.
Merge branch '3.2.x' into master

* 3.2.x:
  Exclude spring-build-src from maven publish
  Move spring-build-junit into spring-core
  Relocate MergePlugin package
  Develop a gradle plugin to add test dependencies
  Expose Gradle buildSrc for IDE support
  Fix [deprecation] compiler warnings
  Upgrade to xmlunit version 1.3
  Improve 'build' folder ignores
  Fix regression in static setter method support
  Fix SpEL JavaBean compliance for setters

Conflicts:
	spring-beans/src/test/java/org/springframework/beans/ExtendedBeanInfoTests.java
Recursively add test dependencies

Update TestSourceSetDependenciesPlugin to recursively search project
dependencies when adding test source sets.
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
Merge branch '3.2.x' into cleanup-3.2.x
Polish build.gradle

 - Consolidate shared test systemProperty declarations
 - Consolidate easymock dependency declarations
Fix Eclipse compilation error in Gradle plugin

Prior to this commit, the following compilation error presented itself
when importing buildSrc ('spring-build-src') into Eclipse:

    Groovy:missing type for constructor call @ line 36, column 49.

This commit replaces the use of the diamond operator with typical
generics syntax in order to work around the problem. It is assumed that
the underlying problem is to do with the Groovy compiler in use. This
change ensures that any contributor / committer importing
spring-framework into Eclipse has a straightforward experience without
being required to tweak Groovy settings.

If selection of the correct Groovy compilation settings can be made
automatic, then we should of course feel free to use Java 7-style syntax
there in the future.

Note that this was *not* a problem when importing buildSrc into IDEA 12.
Skip creation of IDEA metadata for spring-aspects

See diff for details