Cache paths to disk

This patch adds the ability to cache the directory listing to disk, so that the directory structure doesn't need to be traversed every time one opens vim and hits \t for the first time. [See the related issue in the issue tracker](https://wincent.com/issues/1833)

It could use a little cleanup still, but it's basically working, so I wanted to get some eyes on it, and see if anyone could test it out.

Here's what I still want to do with it:

1. Move the caching functionality out of `file_scanner.rb` into its own class (this isn't totally necessarily, but is probably more maintainable)
2. There's not currently a way to invoke `@scanner.flush`, which is what I use to force a rescan, rather than using the cache from disk. It would be best to fix this somehow, but I'm not sure what the best way to fix it.
3. It wouldn't hurt to write a couple more spec tests.

I'm very open to feedback on the code and the functionality, and would be thrilled if people would try it out.