Add Recovery API.

Adds a new API endpoint at /_recovery which can be used to report on the
status of recovering index shards and replicas. All types of recoveries
will be reported: gateway, peer, and snapshot. Pertinent details such as
percent recovered, bytes recovered, and recovery type will be reported
along with recovery status.

Closes #4637