Move cache provider tests to separate module

This has two benefits:
- The main test suite is a bit cleaner now, and cache provider tests are more isolated.
- The tests now pass, since there was a problem with the cache provider being stored with global scope, which meant that the `MemcacheCacheProvider` was never tested.
If on travis, then use provided memcached instance
Only support node 0.10 and newer

The tests hang until timeout on node 0.8.x, so requiring at least node 0.10.0.
Merge pull request #7 from Asana/fix-cache-tests

Move cache provider tests to separate module