Async search status (#62947)
Introduce async search status API
GET /_async_search/status/<id>
The API is restricted to the monitoring_user role.
For a running async search, the response is:
```js
{
"id" : <id>,
"is_running" : true,
"is_partial" : true,
"start_time_in_millis" : 1583945890986,
"expiration_time_in_millis" : 1584377890986,
"_shards" : {
"total" : 562,
"successful" : 188,
"skipped" : 0,
"failed" : 0
}
}
```
For a completed async search, an additional
`completion_status` fields is added.
```js
{
"id" : <id>,
"is_running" : false,
"is_partial" : false,
"start_time_in_millis" : 1583945890986,
"expiration_time_in_millis" : 1584377890986,
"_shards" : {
"total" : 562,
"successful" : 562,
"skipped" : 0,
"failed" : 0
},
"completion_status" : 200
}
```
Closes #57537