Changed MongoDb GetQuery and DeleteItem methods

MongoDb's repository implementation now uses the mapping informations in
order to discover dinamically the id element name and the correct bson
type to make the conversion.
Ability to clear the cache across all repositories

Since we are needing to store a global counter that is used in all cache
keys, we have to do that in different ways depending on what the server
setup is.  If the code is hosted in a single server environment, we can
use a simple static property, while if we are in a cloud or server farm
environment we would need to use a distributed cache like redis or
memcached to hold this value so that it is the same across all servers.
Therefore if the user needs access to Cache.ClearAll() they will need to
set the Cache.CachePrefixManager property.
Merge branch 'master' of https://github.com/MikeCer/SharpRepository into PR-80-MikeCer