Bug 826746: notify mozpool when lifeguard is done with an operation; r=mcote

This notifies when entering the 'ready' or 'failed_*' states.

Mozpool also tries another device when it gets a failed-bad-device
result from lifeguard (bug 819085)
Bug 837241: prefer SUT over ping when it's available; r=mcote
Bug 834568: self-test on failure, related changes; r=mcote

In addition to self-testing on failure, this does a bunch of little things:
 * eliminate the free state
 * show requests in the lifeguard UI (with API change)
 * makes failed-request states expirable
 * eliminates the now-unnecessary 'closing' request state
 * power-cycles during the sut_verifying process, per dividehex's suggestion