Upgrade a number of dependencies to latest maintenance releases

A number of dependencies have been updated to the latest version available without moving to a new major or minor release. Additionally, a variable has been added for the Commons IO version to ensure that the same version is used across the three projects that depend upon it.

The upgrade to JUnit 4.11 has revealed some integration tests whose success was dependant on them being run in a particular order. To overcome this the classes containing these tests have been marked with `@DirtiesContext` configured to renew the application context after each test method.