Add LDRB Register support
Add LDRSH Register support
LDR* tests only need read_only memory regions

I updated several LDR* related tests to setup test memory regions with
SimpleMemory_SetMemory() to be READ_ONLY instead of READ_WRITE so that
a HardFault would be generated if something went wrong and the
simulator tried to write to this memory region.
Add STR 5-bit Immediate support
Add LDR 5-bit Immediate support
Add STRB Immediate support
Update comment for STRB test case
Add LDRB Immediate support
Add STRB Immediate test

Added a test which was specific to the largest immediate offset, 31.
Add STRH Immediate support
Add largest offset STRH Immediate test
Add LDRH Immediate support
Add STR SP Immediate support
Add LDR SP Immediate support
Update STR SP Immediate tests

When using largest register index, use the lowest offset and vice
versa.  As the tests were before, the decoding could be backwards and
the test would still pass.