PhraseSuggester: Collate option should allow returning phrases with no matching docs

The new option `return_all_phrases` in PhraseSuggester collate will allow the user to control whether all the generated suggestions would be returned. Setting the option will have an additional field `match_exists` in the suggestion options, indicating if there were matched documents for the phrase. The default value for this is `false`.

Currently the request would look as follows:

```bash
curl -XPOST 'localhost:9200/_search' -d {
   "suggest" : {
     "text" : "Xor the Got-Jewel",
     "simple_phrase" : {
       "phrase" : {
         "field" :  "bigram",
         "size" :   1,
         "direct_generator" : [ {
           ...
         } ],
         "collate": {
           "query": { 
              ...
           },
           "return_all_phrases": true
         }
       }
     }
   }
 }
```
and the response looks as follows (only when `return_all_phrases` is set to `true`)

```bash
"suggest" : {
    "simple_phrase" : [ {
      "text" : "Xor the Got-Jewel",
      "offset" : 0,
      "length" : 17,
      "options" : [ {
        "text" : ...,
        "highlighted": ...,
        "score" : ...,
        "match_exists" : true
      }, {
        "text" : ...,
        "highlighted": ...,
        "score" : ..,
        "match_exists": false
      } ]
    } ]
  }
```

Closes #6927
should we make this part of the `"collate" : {}` object? I think we can just do something like:

```JSON
"collate" : {
  "prune" : true|false,
  "query" : {...}
}
```