Add conditional exception reraise

In some cases we need to save an exception and reraise it only
under certain conditions.  As written, the
save_and_reraise_exception context always reraises, which means
it can't always be used.  This change adds a flag that allows
conditional reraising to address the limitation.

Change-Id: Ib5c6406a1b91daff94cc4aa305dcb7d6262aecdc
Merge "Add conditional exception reraise"