Configurable timeouts

 Closes #411 

Creates 2 configurable timeouts:
- **shard_timeout** Applies to searches (eg _msearch, _search) (shard_timeout). This will allow elasticsearch to give up gracefully when results take too long to load, and drop a warning message in the UI.
- **request_timeout** Applies to any request to elasticsearch, should always be higher than **shard_timeout**. If we hit this timeout we fatal because something is very wrong :-)

Both of these are configurable in kibana.yml