3.0 schema cache

Implements #2243.

Caching is done at Cake\ORM\Table. I couldn't use Cake\ORM\TableRegistry to cache and inject the schema into the table because table name resolution (used for generating cache keys) is only possible after the table is constructed.