Created a Instruction type to hold instructions

The instruction type is actually a union of a 16 bit word and
a struct with identifiers for each 4 bits of the word.  This
effectively makes the getQuartet function obsolete and should
make dealing with instructions easier.  The q* fields have to
be specified from highest to lowest due to endianness: the
lower bit fields are allocated before the higher ones.