Improve TRAMP performance

**DON'T MERGE THIS YET**

The idea is to make a mini code review here. See #234 for more explanations.

Basically, delay projectile directory walking until absolutely necessary when over TRAMP. Performance over TRAMP is now instantaneous when you open files & friends, yet projectile still works if you press key combos like <kbd>C-c p f</kbd>.

I tried not to tie the implementation to TRAMP, that way people can tweak it for any conditions they can think of.

Things to be discussed:

* Variable names? Maybe `projectile-lazy-when`, `projectile-is-lazy-p` would be better names?
* What can go wrong here?
Why not use a special value like  a symbol or a keyword for this case instead of doing linear search in all the keys? Guess there won't be that much of them, but still...