Only load cache at projectile load time

Previously the cache file was loaded and evaluated everytime the major
mode was changed.  When using some other libraries, major modes change
a lot. For example, this mean that everytime I used `smex` or
`iswitchb-buffer`, I would have a long delay while the cache file was
loaded.

There's no real need to load each time a major mode changes, the only
regression would be a stale cache if the file was modified by a
separate process. I don't suspect anybody will hit that situation.
Create an empty hash-table for the cache if file doesn't exist
Merge pull request #66 from pufuwozu/master

Only load cache at projectile load time