Functional tests to cover GitVersionControl.

Removed pointless VersionControlFactory.

Updated .travis.yml to run functional testsuite.

Updated include statments to echo a message on failure.