Moved CacheExtension to Composer

Hi @jarednova! Here are the changes that move the CacheExtension from the repo. In the process I set up the main plugin file to grab the Composer-generated autoload file, so dependencies don't have to be manually included elsewhere.