Check that the pc validation code works ok.

Add a testing only interface to set the pc and set it to a few invalid
settings to check that step and disasmPC all blow up correctly.
Fix reversed test bug with the max operations handling

We were counting the number of push ops instead of the number of non
push ops.  Add tests that found this (checking tha the max operations
check fires).