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`
Merge remote-tracking branch 'upstream/master' into scm_subtree

Conflicts:
	CHANGELOG.md
Remove unnecessary entries from default backtrace

When the --backtrace (or --trace) command line option is not supplied
Rake lowers the noise level in exception backtraces by building
a regular expression containing all the system library paths and
using it to exclude backtrace entries that match.

This doesn't always go far enough, particularly in RVM environments when
many gem paths are added. This commit reverses that approach and only
include backtrace entries that fall within the Capfile and list of tasks
imported thereafter.

If the full unexpurgated backtrace is required then the --backtrace
and --trace options supply it as before.
Merge branch 'scm_subtree'
Merge branch 'clean_trace'