Added logic for handling failed states in ExtendedHardwareOverrides.
Essentially, once get into failed state, disallow any commits on
object.  Rely on hardware_state_applier to create a new event that
will remove and reset failed hardware.
Minor cleanup in controller: swapped out prints+asserts for library assert.