crud generator WIP
Fixes #820.
Fixes #811.
added Cache::exists() to check key existance in cache
cherry picked RedisCache and redis\Connection from redis WIP branch

commit in redis branch was:
0cd65e7496befb3c4aed86e47257103fea63d329
implement Cache::exists() for various cache backends

fixes #811