Add DEFER/JOIN instructions.

Cases blanked out in .exec(op_t).
Add vm_thread.return_value()

Just returns the contents of the RP register.
Add vm_wrong_process exception.
Add vm_state.fork_thread(thread).

Makes a copy of the thread and returns it.
Implement DEFER instruction.

Right now, the loss of the call stack is accidental -- the VM will not
currently recreate a stack or permit partial execution of something
(i.e., only executing N instructions before yielding to the host). I'll
be fixing this later, but for now this is expected behavior and
accidentally benefits this feature. Once it's fixed, this will need to
have its call stack explicitly flattened.
Implement JOIN instruction.
Merge branch 'feature/defer-join_instructions' into develop

* feature/defer-join_instructions:
  Implement JOIN instruction.
  Implement DEFER instruction.
  Add vm_state.fork_thread(thread).
  Add vm_wrong_process exception.
  Add vm_thread.return_value()
  Add DEFER/JOIN instructions.