Preliminary work on eshell autocompletion.
Make venv-with-virtualenv remember your previous virtualenv and drop you back into it when all is done.
Make sure history is purged of non existant candidates.

We need to do this because somebody else may have deleted virtualenvs.
allow mkvirtualwnv and rmvirtualenv to take multiple names.

incidentally fix a bug in eshell's handling of cpvirtualenv also.
Some improvements to non-interactive use.
Use some anaphoric macros.
Update docstring for venv-location.
Update package documentation.
Merge branch 'eshell-completion'