Support multiple instances of redis, make use of UNIX socket connections

Adds an additional option to not setup the default redis::instance - this is so we can have multiple - e.g. 6379 for cache, 6380 for sessions. This is safer than sharing the same redis instance. We can also change values - fore example I am not interested in snapshotting for cache, but I am for sessions

Also sets up a unix socket for redis - this yields a better transaction rate than TCP