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. Set a static variable called "cache_expire" to a value in seconds; otherwise your Cache configuration expire period will be used.

After updating AR using Composer I'm getting not existing index "expire" notice. I fixed it by calling ActiveRecord\Cache::initialize(null); in ActiveRecord\Config::initialize callback. However this feature should not break existing installations which it currently does (with a strict error reporting mode).