Allow watch with GET method to be given an index via a query string param

Currently, the "watch" endpoint only allows an index parameter to be specified if a POST request is made to it, and only allows no index parameter to be specified is a GET request is made to it.  This is inconvenient when playing with the API in a browser, and is unexpected since POST in a RESTish API is used for making changes on the server; performing a watch is a read operation so I expected to be able to do it via a GET request.

This allows patch changes the behaviour such that both GET and POST requests can be used with or without the index parameter.