Add Cache specification

@Nyholm I've prepared cache specification, basic one so far, but I think we may need to add options for Cache Profiles, Drivers etc.
Did you leave out `$this->parent->modifyQuery($query)` intentionally?