Don't wedge full data backups by blocking the data consumer thread

In particular, don't ask the producer about error overrides when
it is still relying on the consumer to do its job first.  This
needs to be policy for *any* transport-side error condition, not
just the one that was previously handled safely.  Any transport-
initiated error "on the fly" means that the app-facing side of
the engine doesn't know to stop feeding data, and mustn't be
consulted with any blocking request.

We also now detect unexpected PACKAGE_REJECTED by the transport
after data streaming has begun, and translate that to the general
TRANSPORT_ERROR for correct handling down the line.

Bug 28399225
Bug 28375634

Change-Id: I613dc21bc9f2d23e6520eed6c3ac2e9dbc1d88dc
1 file changed