Implement a bit of decode logic

I have a somewhat hacked together decoder, but it's not been written
to be safe -- just to print the correct output for the case that I
happen to have right now.

This commit introduces some safer decoding methods.  The goal here is
that code should use these methods in order to decode Hurricane
instructions.  They provide a few advantages:

* Isolation from the actual encoding bits

* Isolation from some DREAMER encoding oddities (for example, all the
  operands now have an "is immediate" method, which handles the
  implicit immediate formats).

* Type safe bit conversions (for example, you get an abort() if you
  try to parse a register index as an immediate).

* Some manner of built-in paramaterization (for example, the network
  operations are handled as a list, which allows broadcast to be
  easily disabled).

With any luck I'll end up being able to convert the string
disassembler to use these without too much hassle... :).