contrib/subtree: add link sub-command

Adds subtree details to .gitsubtree where the directory already exists.

Signed-off-by: Paul Campbell <pcampbell@carnegiecollege.ac.uk>
contrib/subtree: allow addition of remote branch with name not locally present

cmd_add() attempts to check for the validity of refspec for the repository
it is about to add as a subtree. It tries to do so before contacting the
repository. If the refspec happens to exist locally (say 'master') then
the test passes and the repo is fetched. If the refspec doesn't exist
locally then the test fails and the remote repo is never contacted.

Removing the tests still works as the git fetch command fails with the
perfectly accurate error:

  fatal: Couldn't find remote ref <refspec>

Signed-off-by: Paul Campbell <pcampbell@carnegiecollege.ac.uk>
Merge branch 'subtree-usability' into my-daily-driver
Merge branch 'fix-add-remote-branch' into my-daily-driver
Merge branch 'fix-add-remote-branch' into my-daily-driver

Conflicts:
	contrib/subtree/git-subtree.sh

Signed-off-by: Paul Campbell <pcampbell@kemitix.net>
Merge branch 'subtree-usability' into my-daily-driver
Add simple pull/build/install script