API v1 spec

This is still a work-in-progress, but any feedback is more than welcome.
This is where this model starts to fall apart. Do we refer to units by hash, or by name? Does a user submit a LoadJob command with a reference to the unit hash or name?