Add virtualenv#activate_by_path function

This function activates the topmost virtualenv from the given path.
If the given path is inside g:virtualenv_directory, it is straightforward.
Alternatively it walks through the full absolute path and activates the
first available virtualenv, which can be slower.

Very useful for activating from inside the virtualenv this is why
virtualenv#activate() now uses it if no virtualenv name is specified.