Lots of changes:

* Removed older BeIT memcache client support and now there's a dependancy on Enyim instead.
* Refactored the memcache provider to be a bit more thread friendly, now creates a client per call rather than sharing a client.
* Key hashing is now done at the provider level and NOT in the Cache static class.
* Various other tweaks.