AutoReconnect errors are not being handled and so, propagated to the client.
This patch adds a safe_call decorator. The purpose of safe_call is to catch
ConnectionFailure and raise a ConnectionError instead. Future patches will make
the transport catch ConnectionError and handle it correctly instead of
propagating it to the client.
All storage back-end should support this.
Fixes bug: #1169821
Change-Id: I523232a7cefbd00082447403ceb3abada9af6db3