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.

This should be fixed in #421 (merged)