Added arbitrary cache usage by key.

Pass a Model an optional second or third parameter to force the Model to check the cache before running the query and stashing the results in the key for future queries.