Add subtree capability using :repo_tree variable

The variable `:repo_tree` now allows the specification of a sub-tree
that will be extracted from the repository when deploying. This is
useful when deploying a project that lives in a subdirectory of a larger
repository.  Implemented only for git and hg.  If not defined then the
behaviour is as previously and the whole repository is extracted.
All extraction is as before still subject to git-archive `.gitattributes`
Repo tree is just a directory name - unadorned. Like 'bicycle' for example. The directory 'bicycle' should be available at the top level of the repository. My company is using this a lot and it works for us. If you have problems then please check your git version is up-to-date as all I do is pass the variable into the 'git archive' command. We're using git 2.1 ourselves, but git archive with a subtree has been around a while and has had some inconsistencies. I submitted a patch for these way back (a year ago or so) but it was ignored. So YMMV with git - best to use the latest
Regards
Nick