refactor(job): Drop cli-provided job requirements

This feature is being reimplemented in the unit, so we can go ahead and
drop support for it.
refactor(job): Change type of Job.Payload to value

Clients of the Job model should never have to check if the Job has
a Payload. Remove the possibility for Payload to be nil by
using a JobPayload vs a *JobPayload.
refactor(event): Use BootID event/listener context

Wrapping the bootID in a MachineState was overkill and it opened
the door to clients of the event code trusting clearly untrue
information. This is rectified by simply not wrapping the bootID
with a fake MachineState.