Inherit ServerError from Transport::Error instead of StandardError

Currently there is an error in the documentation:

>The highest-level exception is {Elasticsearch::Transport::Transport::Error} and will be raised for any generic client or server errors.

This is not true, because `Transport::ServerError` inherits from StandardError. If you `rescue Elasticsearch::Transport::Transport::Error`, you would actually miss all exceptions such as `NotFound` or `ServiceUnavailable`.

Behavior is now in line with documentation.

Added test may be ditched, it's a very trivial change and testing the exception hierarchy chain doesn't make much sense.