Junit Updates and others

Pom
-----
Enforce jdk 1.6 globally otherwise per maven compiler, it will default
to 1.5 and as such explains why my earlier pull request had me removing
the overrides on interfaces which are valid as of 1.6.
Updated junit and local usage plugins
Moved all version numbers to properties for easier management in future
Added ignore for lifecycle mapping for m2e

Source
--------
Removed unused imports
Added missing overrides (yes there were quite a few)

Tests
------
Added additional asserts where missing with unused objects.
Removed unused objects if exception expected as they were not necessary
Use non deprecated imports of junit
Made changes for hamcrest usage of Matchers<T> in latest junit/hamcrest
usage
Use 'isA' for class matching
Fixed one switch case to have default return of null thus removing
unnecessary ending null return as it is now completely covered
Fixed misspelling on two test cases