Updated versions of various Maven plugins in POMs and tidied up differences

- Updated the Maven plugin version numbers to latest usable releases
- Tidied up references to repositories for release/deploy builds
- Consistent setting of build properties for java version etc.
Do we not need `<source>${java.version}</source>`, and same for `<target>`? What was the point of that?