Improve speed of spring-test build

- Now excluding *TestSuite classes from the JUnit test task.
- Renamed SpringJUnit4SuiteTests to SpringJUnit4TestSuite so that it is
  no longer executed in the build.
- Reduced sleep time in various timing related tests.
Generate eclipse project settings from gradle

Update gradle to generate the following project specific eclipse
settings:

- Java formatting
- Cleanup options
- Warning settings
- Code template with copyright header
- WTP module meta-data

In addition this commit changes the eclipse project .classpath file
to output test and main classes to different folders. This is required
to prevent eclipse WTP from packaging test classes into /WEB-INF/lib
jar files.

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

* SPR-9518:
  Generate eclipse project settings from gradle
JDBC parameter binding uses JDBC 3.0 ParameterMetaData (if available) for type determination

Forward-ported from 3.1.2, with minor modifications for defensiveness against the JDBC driver.

Issue: SPR-10084
Support multiple Validators in DataBinder

DataBinder now allows registering additional Validator instances.
This may be useful when adding a Spring Validator to a globally
registered JSR-303 LocalValidatorFactoryBean.

Issue: SPR-9436
Upgrade to prop-deps gradle plugin 0.0.3
Consider bridge methods in SpEL properties

Revert ReflectivePropertyAccessor changes from 107fafb and instead
consider all methods when resolving properties. Methods are now
sorted such that non-bridge methods are considered before bridge
methods.

Issue: SPR-10162
Polish author and copyright year
Remove accidentally committed interface @Override
Fix copyright year & method names in spring-test

This commit fixes the copyright year for changes made in commit
5b147bfba8d5d5837b96357a52867e433137f64b. In addition, method names
have been changed to reflect the semantic changes made in that same
commit.
Minor changes to AnnotationUtils

- Polished Javadoc for isAnnotationDeclaredLocally() and
  isAnnotationInherited().
- Removed unnecessary call to Arrays.asList() in
  isAnnotationDeclaredLocally().
Allow 'gradle eclipse' without 'cleanEclipse'

Allow eclipse projects to be regenerated without first requiring the
'gradle cleanEclipse' task to be executed.
Fix eclipse .settings generation

Fix issues where gradle would not regenerate .settings files due to
the task being considered UP-TO-DATE.
Tweak eclipse warning settings

Hide raw-type, generic and resource leak warnings.
Improve exceptions for multi-operand expressions

Fix SpEL expression parser and tokenizer to provide better exceptions
when dealing with operations that expect two operands. For example,
prior to this commit the expression '/foo' would throw a NPE due
to missing operands to the left of '/'.

Issue: SPR-10146
SpEL support for static finals on interfaces

Update ReflectivePropertyAccessor to search for fields on super classes
and implemented interfaces.

Although the javadoc Class.getFields() implies that all public fields
of class should be returned SpelReproTests demonstrates that this is
not always the case.

Issue: SPR-10125
Prepend context/servlet path to FormTag action

The Form tag now fills in the context and servlet path if not present
in the specified action.

Issue: SPR-8684
Update Validation chapter

The Validation chapter now includes information on combining JSR-303
Bean Validation with additional Spring Validator's that don't require
the use of annotations.

Issue: SPR-9437
Use MessageSource to resolve @ResponseStatus.reason

The reason attribute of @ResponseStatus can now be a code resolvable
through the ApplicationContext's MessageSource.

Issue: SPR-6044
Add contentTypeCompatibleWith option to Spring MVC Test

An expectation such as content().contentType(MediaType.TEXT_PLAIN)
fails if the actual media type contains a charset or another parameter.
A new method allows comparing the media type and subtype only via
content().contentTypeCompatibleWith(MediaType.TEXT_PLAIN).

Issue: SPR-10165