Added "upwards find" tests for expensive dvcs.

Mercurial and Bazaar are written in Python, which, on my system,
causes a noticeable hitch in the prompt generation when changing
directories.  I have added code that, before invoking the 'hg' or
'bzr' executables, first tests if we could possibly be in a bazaar or
hg repository checkout by traversing the directory structure upwards
to the root, looking for an '.hg' or '.bzr' folder.

At least for me, this makes the prompt instantaneous.  There may be
more elegant solutions to this problem, but this one works.
Fixed an error in _lp_upwards_find, and enhanced it slightly.

_lp_upwards_find was using a single-quoted $@, not double-quoted, so
find was actually looking for files called '$@'.

In addition, once _lp_upwards_find finds the file it's looking for, it
breaks out so it doesn't need to always traverse to root.  I doubt
this actually saves much in practice, but it might as well be there.
Add a CONTRIBUTING file