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).
The connection name should also be included in key name. IIRC there was an issue in 2.x when having same table names across different dbs caused key name to be non unique.