allowing the 'ws-server' to process plain http GET requests

This is a port of the changes proposed in https://github.com/aphyr/riemann/pull/422

I've switched the uri's to /index and the 'q' parameter is now 'query' to be consistent with the existing websockets uris.

provides:
    GET /index
    GET /index/{host}
    GET /index/{host}/{service}

It's not 100% consistent yet, there is some work I need todo to retrofit some of the new helpers into the websocket handlers.

I'd like to keep these if possible, personally I found the query interface difficult to approach until I actually understood what was going on in the internals. Having said that have just found that chrome seems to do a pretty good job of uri encoding queries just typed into the address bar.. kinda nullify my next argument.

I could resolve `/index//` to `host = nil` and `/index/nil` to `host = "nil"` of course the problem then is you can't express `host = ""` but then ... mmm. I see the issue. How about if I document the limits and effects?