Danack squash test

Added unit tests and travis setup.
Refactored MemoryCache to be purely a cache, and added APC and Redis caches.