POM dependency version fixes

An attempt to sanitise the versions of our dependencies, while in the process of working on BROOKLYN-21. This pull request addresses:

* References to JUnit in our tests. These should all be to TestNG
* Some components depend on the same artifact with different versions - change these so the same version number is used in all places that depend on it. Where there is a conflict, the earlier version is upgraded to match the later version.
* All dependency versions should be addressed by defining a constant property for the version number in the root POM, and using the `dependencyManagement` section to make this the default. Child POMs should not mention a version number.
* A couple of other minor issues