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. The approach taken here is to turn this
around, and only include backtrace entries that fall within the
the directory tree containing the Capfile, ie. the root of the project.

To broaden this slightly the code actually uses the parent directory of
the project root, allowing for faults in peer level gems.

If the full unexpurgated backtrace is required then the --backtrace
and --trace options supply it as before.
Make on() use a deep copy of the hosts