Handle TestContext class to interface conversion from Spring 3 to Spring 4

Use reflection to make calls to the provided TestContext in StepScopeTestExecutionListener
Enables usage of Spring 4 w/ Batch 2.2 (in this case)
Removed serialisable check on ExecutionContext entries

The serialisation/deserialisation implementation is injectable, so it does not make sense to enforce the presence of this interface
Added Serializable check so exception handling is consistent across 2.2.x and 3.0
Updated to Spring 3.2.9
Allow multiple configs (xmls, java-files, packages) to be loaded in
ApplicationContextFactory
Added tests to address more situations as well as cleaned up logic a bit