PathToPythonInterpreter improvements

* Allow a user to specify the path as a vim variable
* Use `sys.executable` if not in vim
* Cache the result

The original reason for this change was that YCM was picking up a 64-bit Python in my path, instead of the Python I wanted it to use. This PR allows me to override the python search with the variable `g:ycm_python_interpreter`. Caching and `sys.executable` were bonuses -- I could have submitted all three changes as separate PRs, but there didn't seem to be much point.