Added functional test to cover GitVersionControl

Removed pointless VersionControlFactory.

Updated .travis.yml to run functional testsuite.