Adds persistence to titles

This is a big commit, but it's a big addition. This pull request adds a caching layer behind the vote data for titles. Any key/value store will work - all you need to do is provide the appropriate `get` and `set` functions. A "dummy" JS object-backed one and a memjs one (for use with MemCachier on Heroku) are both included.

The titles, vote counts, and which users voted are all persisted. Determining which users voted is accomplished with use of a Bloom filter to keep it in constant space.