job to contract

- job is now called contract
- contract is now serialised to hash instead of array. this shouldn’t
be so bad (in terms of occupied space), and it allows for flexibility
in the future for better retro compatibility in future
commit just because
puff
blaurgh
dasdas
fix
hmmm...
better errors and everything