Use built in ttl support for redis to make keys expire

This fixes issue #57. 

Now we are using redis's bult in expiration support so the keys get deleted automatically when they expire.

We were also incorrectly setting the options for each cache region, now we
apply the defaults for each region or leave the override if one is
present for that region.

Also, previously we were passing all options when instantiating a store but now
we correctly get 'store_opts' and pass them in.