Rework set_power handling of errors and noops

set_power failed to raise when error encountered.  The behavior is
amended to be consistent with other functions.

set_power requested on/off state even if system already was in requested
state.  Change to simply report success in that scenario.

Change-Id: I6feb8f4384705136a5ab1fae0899ea27b2d3511c