Various updates to support IDEA

Remove the 'final' modifier from SingletonBeanFactoryLocatorTests
to work around the "cannot extend final class" error issued when
running all tests. The error was due to confusion with IDEA between
the two variants of SingletonBeanFactoryLocatorTests across
spring-context and spring-beans.

Rename one of the GroovyMessenger classes to GroovyMessenger2.
Previously there were multiple Groovy classes named
'GroovyMessenger', causing a compilation error in certain IDE
arrangements.

Update import-into-idea.md documentation

Add various IDEA artifacts to .gitignore
 - ignore derby.log wherever it is written
 - ignore IDEA's test-output directory
 - ignore IDEA's Atlassian connector config file
Remove trailing whitespace in source files

  find . -type f -name "*.java" -exec perl -p -i -e "s/[ \t]*$//g" {} \;
  find . -type f -name "*.aj" -exec perl -p -i -e "s/[ \t]*$//g" {} \;
Replace space indentation with tabs
Polish Environment Javadoc
Fix miscellaneous Javadoc warnings
Replace <code> tags in Javadoc with {@code ...}
Remove unused imports
Fix warnings relating to varargs

Remove unnecessary 'null' argument from calls to vararg supported
methods and fix cast in ValidationUtils.invokeValidator().
Fix or suppress missing serialVersionUID warnings

Fix serialization warnings by applying @SuppressWarnings("serial")
when appropriate.

In certain cases and for unknown reasons, a correctly-placed
@SuppressWarnings("serial") annotation will fix the warning at the
javac level (i.e. the Gradle command-line), but will produce an
"unnecessary @SuppressWarnings" warning within Eclipse. In these
cases, a private static final serialVersionUID field has been added
with the default value of 1L.
unnecessary casts
EasyMock -> Mockito
Update source and target JDK compatibility

"main" source and target compatibility has been upgraded across the
board from 1.5 to 1.6, meaning that Spring Framework's minimum supported
JDK is 6. Use of @Override annotations on implementations of interface
methods is now permitted.

"test" source and target compatibility has been upgraded to 1.7 except
where noted, allowing us to use 1.7 language features such as
diamond-style (<>) generics declarations, automatic resource management
and multi-catch. More importantly, we will be able to upgrade to 1.8
once it is available in order to make use of lambda expressions, etc in
our test cases.

IDE configurations must be relaxed to allow 1.7 across the board, as
neither Eclipse nor IDEA are clever enough to allow for different
language levels across production and test resources. See [1] for a
feature request on that front.

spring-oxm is a special case here, and has been pinned at 1.6
compatibility even for its test sources in order to avoid a class
verification error that JibX throws when encountering 1.7-level
bytecode [2].

Likewise with spring-orm, toplink encounters a similar class
verification error, so has been pinned to 1.6 for the time being.
When we remove the (already deprecated since 3.2) Toplink support
we can restore compatibility to 1.7.

[1]: http://youtrack.jetbrains.com/issue/IDEA-97814
[2]: http://jira.codehaus.org/browse/JIBX-465
Add @Override annotations where appropriate
Remove unnecessary @SuppressWarnings annotations (wip)
Fix [dep-ann] warnings with @Deprecated
Fix [rawtypes] compiler warnings (wip)

 - Suppress rawtypes warnings for src/main
 - Enable rawtypes warnings for src/test

Try to resolve all rawtypes problems across tests as aggressively as
possible, i.e. without regard for binary compatibility

So far unable to find a way to bulk-fix these in either Eclipse or IDEA.
Might need to be a manual process after all.
Fix various compiler warnings in spring-context

All warning types other than [deprecation] and [unchecked] are now
fixed in spring-context/src/test
Enable warning compiler output