Update ensure()/reconnect() to catch MessagingError

The error handling code that gets connections reset if necessary
caught ConnectionError.  It really needs to catch MessagingError,
which ConnectionError inherits from.  There are other types of
MessagingErrors that may occur, such as InternalError, and they need
to cause the connection to reset, as well.

Closes-bug: #1303890
Change-Id: Ic5082b74a362ded8b35cbc75cf178fe6e0db62d0
(cherry picked from commit bb6f3f11f3d65e104faa8dc4ee1b880d0c6394a4)