Provide Version fix when project is copied to foreign GIT repository

Implement fix for Version to not cause Exception when the project's
source code is copied to a foreign GIT repository.

The fix is to specify an optional project-name, passed to Version. If a
name is provided, the code obtaining version information from GIT first
tries to verify we are in the correct GIT repository. A simple heuristic
was implemented, which checks the output of 'git remote -v' for the name
of the project.
Hmm.  But name doesn't convey project_name, and more importantly it doesn't convey that this will be used to check version control information.  E.g. my project might be called "ImaGen", but my repository might be called "imagen" -- here we need the latter, not the former.  Same for FeatureMapper; at least at some point we thought about calling the project FeatureMapper, but the repository "fmapper". If we require people to fill in the name of their repository, we need a name that conveys that.

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.