Redid tests for cache

- Each test is explicitly skipped rather than "warn" and not being eval'd.
- Stub Time.now and use for expire base tests
   - Changed Redis to use #set and #expireat for timestamp based cache expire.
     "expires in" vs "expires at"
- Use shared examples rather than read file and eval(slightly better failures)
- Split tests into their each file