Split out Job and JSON decoding / encoding.  Fixes #40.
Merge pull request #42 from akira/job_json

Split out Job and JSON decoding / encoding