Refactoring changes.
- Improved local variable scoping, simplified code where auto-boxing is done by compiler.
- Added more @Override annotations where appropriate.
- Made temporary filename generation slightly more transparent (still needs to be fixed properly and centralized).
- Null checks before calling close() on various Closeables.
- String.toUpperCase() and toLowerCase() using Locale.ROOT to avoid dotless i issues.
- More use of Java 5 foreach loops where appropriate.
- Simplified the connection map slightly (with a view to eventually removing it).
- Removed some unnecessary code.
Updates to POM

- Reformat XML.
- Update plugin name and description to match other SCM plugins.
- Add David Conneely, and remove invalid email address.