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
Use print0 for find in generic/SVN commands

A command's output is split by '\0' - this means the `find` command
needs the `-print0` flag to work properly.
Merge pull request #67 from pufuwozu/topic/print0

Use print0 for find in generic/SVN commands
Merge pull request #66 from pufuwozu/master

Only load cache at projectile load time
use ert-run-tests-batch-and-exit to preserve exit code for Travis

as originally reported in #65
Merge pull request #68 from joelmccracken/master

testing to verify a broken test will give travis a red result