VID-2077 Treat negative caching differently

When there are no results, cache for a shorter TTL or zero TTL.

The rational for zero TTL on getDetails is that its called internally, and many places that call it also cache the results of the set.  On things that return data to an external client, the no result cache is minimal, currently 5min.

https://wikia-inc.atlassian.net/browse/VID-2077
@drsnyder I'm not sure I understand the question.  As the doc line says `negativeCacheTTL` is a time in seconds, so valid values would be:
```
  ['negativeCacheTTL' => 60] // Cache empty result sets for 60 seconds
  ['negativeCacheTTL' => 0] // Don't cache empty result sets at all
```