Only use race_ttl if race_condition_ttl specified as cache option


When using a Redis cache store the following method intermittently caused a Redis::CommandError: ERR invalid expire time in SETEX, because it receives 0 as the expire time.

When the race_condition_ttl option is not specified the race_ttl evaluates to 0. The result of this is then used in the conditional, but since 0 evaluates to true if falls into the "if" statement. When the write_entry(..) is called with a race_ttl * 2 as the expires_in it passes 0 for this option, which causes Redis to raise an exception.

I see this condition when Time.now and entry.expires_at are the same.

```ruby
        def handle_expired_entry(entry, key, options)
          if entry && entry.expired?
            race_ttl = options[:race_condition_ttl].to_i
            if race_ttl && (Time.now - entry.expires_at <= race_ttl)
              # When an entry has :race_condition_ttl defined, put the stale entry back into the cache
              # for a brief period while the entry is begin recalculated.
              entry.expires_at = Time.now + race_ttl
              write_entry(key, entry, :expires_in => race_ttl * 2)
            else
              delete_entry(key, options)
            end
            entry = nil
          end
          entry
        end
```

The fix is to just not set race_ttl unless the race_condition_ttl options is specified.