Add APSR_NZCV mask to pinkySim.h
Refactor existing tests

Unit tests now indicate the expected state after the simulator steps
over a single instruction.  This state includes APSR flags and the
core registers (R0 - R12).  These expectations are then validated
automatically after the step is executed.

This refactoring reduces the number of lines per test case and reduces
the chance of human error making it into the validation process.
Refactored emitInsruction16() method

This makes the tests a bit clearer:
- The fields in the stdarg parameter list can now be listed in left to
  right order instead of the inverse order which previously made it a
  bit more error prone to call the method correctly.
- I now use a bit more meaningful letters in the instruction bitmask
  to more closely match the field names.  Previously I use 'a' for
  the rightmost field, 'b' for the next field to the left and so on to
  make it clearer that they matched the stdarg parameters in right to
  left order.
- The bitmask for a field can now contain gaps between the bits as long
  as the more significant bits in the field still occur in more
  significant bits of the encoded instruction.