Fixed VM register "double free" bugs in the compiler

The solution for #66 adds the -1 for "allocate temporary register
if needed" logic to a2c_Expression(), but since that parser rule
is recursive, we sometimes end up issuing multiple operators using
the same temporary target register, and that had a2c_CodeOpL() free
that register multiple times!

Now, the automatic freeing of temporary registers has been removed,
and this is instead handled explicitly where applicable.

Added the NOTR instruction along with the other unary operators in
a2c_Instruction() - but do any of those really belong there...?

Fixes #80.