Mavenized project

Change project structure to match maven's default structure and added a POM.
Renamed package structure.
Added tests from other source code version.
Cleaned errors (mostly use of @Override when super class doesn't define same method).
Refactored tests.
Cleaned warnings.
Added checkstyle maven plugin to POM but haven't configured it yet.