fix(job): Allow state transitions to skip

A client can set the target state of a job to launched
while the actual state is inactive (or vice versa).
fix(fleetctl): Communicate all timeout errors when blocking
Merge pull request #358 from bcwaldon/multistate-transitions

Allow job state transitions to skip intermediate states