Fix default expiry time for memcached

The memcached protocol dictates that an expiry greater than 86400 * 30 be treated as a Unix timestamp. Obviously this means sessions stop working out-of-the-box when enabling memcache.

https://github.com/memcached/memcached/blob/master/doc/protocol.txt#L86-L88

Change the default, and refuse to start if using memcache and too large an expiry is set.