redis caching: please read below

This commit brings in redis caching to Gitolite.

Documentation is not yet done, but briefly:
1.  make sure you have Redis available ('perl -MRedis -e 0' should succeed)
2.  enable caching by uncommenting the "CACHE => 'redis'" line in the rc file

However, this code is not the same as the old "redis" branch (which has now
been deleted).  It is a complete rewrite, much simpler, and much more elegant.
It uses the ideas of memoisation rather than explicit "cache_set" and
"cache_get", and at present memoizes just one function: the access() function
in Load.pm.  That seems to be sufficient for most purposes anyway.
(oops!) new mirror status code assumes too recent perl

As a result, a push fails if *mirroring* for the previous push failed!

If you cannot apply this patch asap, a work around is to remove all files
called "gl-slave-*.status" in repo.git on the server.
warn about 'gitolite setup' losing split keys...

thanks to Jephte Clain for catching this (thread "ssh-authkeys-split not
enabled in gitolite setup" on the mailing list)
redis caching: 'set-default-roles' fix...

flush repo from cache