Reorganize everything; also fix bug get-candidates.
Improve with-virtualenv macro's handling of previous directory

It now switches back to where you were before when it's done.