stop showing the background icon progress outside it's scope

Also, extend print_and_error() to act as a pass-through, returning the
original error code.

Change-Id: I3d7ee71f627f871f64defe7902b91b762ca97d59