Attempt to reconnect to Varnish on fetch error

When the server resets the client gets a broken pipe signal on
fetch attempt. This commit re introduces reconnection to handle
that.

NOTE: connection errors do NOT trigger a reconnection attempt, but
      only read/write errors on the socket. I think it makes sense
      that way.

This modification has been tested with Varnish-Cache 2.1.5 and
python-varnish 0.1.2 and varnish-management.critical set to both
true and false.