fix(job): Export Job.JobRequirements for use in scheduler
refactor(job): Remove unnecessary String() method
refactor(start): Prefix corectl-start requirements with MachineMetadata
refactor(scheduling): Reimplement scheduling params

* X-Coreinit-MachineSingleton and X-Coreinit-Provides removed
* X-Coreinit-Peers reimplemented as X-ConditionMachineOf, losing
  ability to provide multiple peers
* X-ConditionMachineBootID added for scheduling directly to host
fix(agent): Allow AgentState to overwrite tracked JobOffer
refactor(payload): Strip off less from payload conflicts
feat(payload): Add X-Conflicts payload option

The value of X-Conflicts are matched against other
job names when attempting to schedule a job. A given
machine will assert it does not have any jobs that
conflict with an offered job before submitting a bid.
A conflict is a standard unix glob.
Merge pull request #77 from bcwaldon/scheduling-parameters

Refactor scheduling parameters