model caching

Adds basic model caching functionality to active record. To enable caching for a particular model, set a static variable called "cache" to true in your model subclass, and configure a cache adapter. 

This is my third attempt at putting a pull request together; apologies for my poor git skills. Please ignore the previous 2.
There are similar checks already in there; flush and get, to name two. I think you want to keep it--lessens the chance of something breaking for folks who haven't configured any cache adapters.