test(job): Expand job pkg tests
refactor(job): Separate systemd logic into new file in job pkg
refactor(registry): Use an (un)marshal helper for JSON (de)serialization
refactor(registry): Store JobPayload objects in etcd as JSON
refactor(registry): Expand json serialization error reporting
feat(corectl): Expose job state in list-units cmd
refactor(corectl): Minimize calls to etcd in list-units cmd

Rather than make one query per machine to list jobs, we can just
list all jobs and pull the machine from the JobState that is
reported by the owner of the Job.
Merge pull request #19 from bcwaldon/corectl-list-improvements

Improve corectl list-units - more data & fewer queries to etcd!
Merge pull request #18 from coreos/etcd-registry-json

Refactor job pkg, adding tests; serialize JobPayload as JSON into etcd
fix(test): Update test runner
refactor(job): Move JobPayload.Type to Job.Type

The Type field is much more relevant to the Job rather than the
payload that job contains. Remove the JobPayload.Type attribute
and add a Type attribute to the Job struct.
refactor(job/target): JobState objects are now produced by SystemdUnits

* Create SystemdUnit interface to abstract SystemdSocket and SystemdService
* JobState now knows about a list of (string) sockets
Merge pull request #21 from bcwaldon/port-tracking

Refactoring for the ability to expose sockets out to clients