Deal with the case openstack instance has been deleted

Hardcode this message in an utility method (client agnostic) looks dirty. Moreover, checking a condition on a message from the response body is not really reliable. My suggestion it to add the HTTP status code in extra_data exception and then, handle a specific behavior in `NovaClient.get_server_details` as shown below.

```ruby
def handle_response(response)
  log_response(response)
  case response.code
  when 200, 201, 202, 204
    response
  when 401
    fail Errors::AuthenticationRequired
    when 400, 404, 409
      message = JSON.parse(response.to_s)[ERRORS[response.code.to_s]]['message']
    fail Errors::VagrantOpenstackError, message: message, code: response.code
  else
    fail Errors::VagrantOpenstackError, message: response.to_s, code: response.code
  end
end
```

```ruby
def get_server_details(env, server_id)
  begin
    server_details = get(env, "#{@session.endpoints[:compute]}/servers/#{server_id}")
    JSON.parse(server_details)['server']
  rescue Errors::VagrantOpenstackError => e
    fail Errors::InstanceNotFound if e.extra_data[:code] == 404
    fail e
  end
end
```