Relocate `require 'kibana/rack/web'`

Move this further down so that our settings attributes are available in
Kibana::Rack::Web when we use `settings.kibana_index` in a route regex.
Otherwise we get an undefined method error. Within the Rack sub-module seems
like a sensible place.
Move proxied Elasticsearch paths to const

Because this list is getting longer and harder to read.
Proxy temp/saved dashboards to ES

Allow requests to save and fetch dashboards from Kibana's internal index on
Elasticsearch. I believe they need all the same HTTP methods as other indexes.

For temporary dashboards requests look like:

    127.0.0.1 - - [13/Aug/2014 13:55:56] "POST /kibana/kibana-int/temp?ttl=30d HTTP/1.1" 201 92 0.1674
    127.0.0.1 - - [13/Aug/2014 13:56:00] "GET /kibana/kibana-int/temp/GjO0MfT5QL6dLqOytd6qDw?1407934560237 HTTP/1.1" 200 3634 0.1673

For permanent dashboards requests look like this:

    127.0.0.1 - - [13/Aug/2014 16:53:20] "PUT /kibana/kibana-int/dashboard/example HTTP/1.1" 200 82 0.1265
    127.0.0.1 - - [13/Aug/2014 16:54:05] "GET /kibana/kibana-int/dashboard/example?1407945244866 HTTP/1.1" 200 3492 0.1399

The route is configured based on the `kibana_index` setting. So it will
continue to work if changed from the default of `kibana-int`.

I was unable to mimic the query param that has a key and no value in the
tests. It seems that Rack::Test always converts `?k` to `?k=`. So I've added
an arbitrary key/value instead to represent that *something* is passed.
Proxy bodies for PUT requests

Saving a temporary dashboard to Elasticsearch uses a PUT request with a JSON
body. So we should proxy these bodies in the same way we do POST requests.

The test has also been modified to deal with PUT bodies, by always taking
`body` from the `options` hash in precedence over `params`. I think this is
slightly easier to read than switching on `request_method`.