Query DSL: Cache range filter on date field by default

A range filter on a date field with a numeric `from`/`to` value is **not** cached by default:

    DELETE /test

    PUT /test/t/1
    {
      "date": "2014-01-01"
    }

    GET /_validate/query?explain
    {
      "query": {
        "filtered": {
          "filter": {
            "range": {
              "date": {
                "from": 0
              }
            }
          }
        }
      }
    }

Returns:

    "explanation": "ConstantScore(no_cache(date:[0 TO *]))"

Closes #7114.
sorry, I missed this comment. You're right. If explicit caching is configured and set to true, we override it to false if `now` without rounding is used. If no explicit caching is defined we should set cache to true if `now` with no rounding is specified.

It should look something like this:
```
if (explicitCaching != null) {
  if (explicitCaching) {
     cache = hasNowExpressionWithNoRounding(value) == false;
  } else {
     cache = false;
  }
} else {
   cache = hasNowExpressionWithNoRounding(value) == false;
}
```