Make sure elasticsearch uses version 0.90 apiVersion

Because there is a newer version of elasticsearch, newer versions of the
client will try and use the latest version of the API. To prevent this
we explicitly state which version of the API we want to use.
Validate queries before executing them

Rather than show the raw elasticsearch errors, use the validateQuery
method to check them, then return a more friendly error message if the
query isn't valid as well as setting the status code to 400 to indicate
a client error, rather than a 500.