Functional tests to cover GitVersionControl.

Removed pointless VersionControlFactory.

Updated .travis.yml to run functional testsuite.

Updated include statements to echo a message on failure.