3.0 - Query caching for \Cake\ORM\Table::get (updated)

Support for query cache in `\Cake\ORM\Table::get`, based on discussion in https://github.com/cakephp/cakephp/pull/4815

The duplication in `TableTest` bothers me a little bit (`testGet` and `testGetWithCache`), but I did not refactor it, since I did not find how you usually deal with it (there are only `test*` methods in the class).
Neat. I am ok with the mocks. I generally try to avoid tons of mocks if it possible, but sometimes in cases like this it is not possible.