Cached null value checks

- Prevent null values from being cached
- Delete values with expired TTLs from memory cached when an attempt is
  made to access them
- Use default TTL when none is specified with Redis and APC