Always return WORK_COMPLETE when a build finishes regardless of
the result.

This is a change to the Zuul-Gearman protocol, however, Zuul is
already compatible with this mode of operation.

The new idea is that WORK_COMPLETE should be returned for every
completed job, regardless of the result.  The result of the build
should be determined by the client by inspecting the data returned
with the WORK_COMPLETE packet.

WORK_FAIL should now instead be used to indicate that the job failed
to run for some reason (perhaps the scheduler was, after all, unable
to schedule a build that it had accepted from the gearman server).

WORK_EXCEPTION continues to indicate something similar to WORK_FAIL,
but with exception information attached.

(At the moment, gearman-plugin should now only return WORK_COMPLETE
or WORK_EXCEPTION; the option to use WORK_FAIL as described is a
future enhancement.)

Change-Id: I32187065dac7e83573636021faf964df8dfd63be