Unstable: Closes #9 #10 #11 #12 Implement Testing Framework

This change is unstable but does implement unit and integration testing for maven so that they can both be run from the command line for non standard tests such as non thread safe test and OS dependant tests.

The thing that makes this change unstable is that it implements half of the docker code.