Added the begingins of a version checker.

Will do versions for dependencies but doesn't treat requirments as special,
and so doesn't test for validity of the tree structure. Thinking this should
be a different method.

Added Test case, test cases will determine if tests have been run or not,
they are special because there is one test case per version (TBD).

Have junit for version state, but need to complete the test and test case tests.