[Query Cache] Add a request level flag to control query cache

A request level flag, defaults to be unset, to control the query cache. When not set, it defaults to the index level settings, when explicitly set, will override the index level setting
I tend to like migrating such code to ParseFied when adding features. It avoids typos in the camelcase name that wouldn't be caught by tests for example