[amber] Package updates propagate blob errors

When a package or system update is initiated, it causes blobs to be
fetched for every uninstalled blob belonging to the package. Any of
these fetches can actually fail, but we never report these failures back
to amber. This change causes certain errors to be reported to the
overall update through a PackageFailed fidl call.

Note that not all errors should be reported. Certain errors can be
caused by races when two packages write to the same blob. This is
occasionally expected. To be safe, we only whitelist a small number of
error codes (currently just zx.ErrNoSpace).

CF-230 #comment propagate blob errors to update

TESTED=dynamic_index_test, and manually tested out-of-space

Change-Id: Idcb6f0e3489287857a111ed1868fbb49f89e545a
11 files changed