Redis -> memcached

- Rename RedisFailureState to PersistentFailureState
- Use passed-in `Rails.cache` object, rather than Redis
- Update code to deal with memcached/dalli issue (calling `increment`
  causes subsequent `read` calls to return a bogus value)