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 list of all events in the index
                query parameters:
                'offset' - offset of first item to return
                'limit'  - max number to return (defualt is 250)
                'query'  - riemann query to match events against
I've done this .. but might be worth just thinking about how other requests might look. So for 
example:

/pubsub - list of topics?

    {
          "topics":[]
    }

So rather than providing a consistent container the consumer has to know what the name of the collection is. Of course the original item behind having a container (rather than just returning []) was that the result should look something like:

    {
          "max_results":3000,
          "items":[]
    }