Add UXTH support

I also added upper bit masking in zeroExtend16() and zeroExtend8().  I
had a comment before that it didn't need to do anything because the
IMemory_Read* routines would zero extend their returned values but
commands like uxth are zero extending register values and not values
read from memory.
Add UXTB support
Increase SimpleMemory regions from 5 to 10
Add PUSH support
Add CPS support

Is able to clear/set the PRIMASK.PM bit but doesn't really do anything
as this simulator doesn't support interrupts.