Deal with ConnectionError exceptions and metadata

Added support to metadata helper methods to deal with ConnectionError
exceptions. When a ConnectionError is raised, the warning messages do
not get displayed since we're only catching ServerError exceptions. I've
added code to raise ConnectionError exceptions as ClientError exceptions
and now when retrieving metadata we catch both ServerError and
ClientError exceptions.