Move actual caching algorithm out to an interface agnostic CacheController class

This should allow me to use an adaptor or object wrapper for the
usage.
Add MIT license so it jives with httplib2 and more detailed setup params