Expose setex if exists and is a function

This allows us to use the cache store with a ttl on some transactions,
but not all.
Merge pull request #7 from evanlucas/feature/setex

Expose setex if exists and is a function