Added some clarification to shift instructions
Removed builtin shifts for arithmetic instructions

In the c32 builtin shifts seemed very useful for 2 reasons:
1. Allowed array indexing for any aligned types to be performed
   with only 2 instructions.
2. Removed the need of a special shift instruction.

Unfortunately in c16, the size available for the shift field was
reduced to only 2 bits. While this did allow the encoding of the
most useful shifts (nop,shl,shrl,shra), it prevented general shifts.

Additionally, ldb/stb was removed due to opcode space. This meant
that general shifts (or other byte handling mechanism) were required
and the shift instructions were added.

Now that we have special shift instructions, the only remaining reason
for keeping these is indexing types. However, since we have moved to
word addressability, this indexing is useful for really only 32bit
values.

Removing the shift simplifies the instruction set a decent amount, at
least specification wise. However, it does seem wasteful to leave these
2 bits unused in a quarter of the instructions.
Changed the constant register from -1 to 0

I originally conceived the N register in an instruction set
that lacked immediate values. In the instruction set, -1 was
immensly useful for fabricating instructions such as branch always,
not, decrement, increment, nop, etc. However, c16 makes heavy use
of immediate values. This removes most of the benefits of constant
registers in general, but c16 cannot remove its constant register
without losing the ability to unconditionally branch.

I was content to just leave the constant register as -1 simply because
every use of 0 easily mapped to a use of -1, until I found these two uses:

sub z,ra,rd     => neg ra,rd (negate)
sltu z,ra,rd    => sne ra,rd (set if not zero)

As far as I'm aware, these cannot be mapped to instructions using -1.
It's not much of an addition to the instruction set, but there is
no reason that I'm aware of to keep using -1.
Merge branch 'c16-zero' into c16-no-sh-and-zero
Merge branch 'c16-no-sh-and-zero' into c16

Conflicts:
	instructions.txt