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?
This is totally redudant IMO - we should just check the value returned by `gethash`.