made changes to fix up blx from thumb mode to arm mode
adding test for branch with immediate that was being misaligned
code was working incorrectly in dll form because of missing declaration
in arch/ARM/ARMMapping.h for new function ARM_blx_to_arm_mode. Something
about the linking was confusing ld when making the dll, and the resulting
offsets were wonky (e.g. the added ble test would show up as #0x1fc instead
of #0x1fe like it should have)

I also fixed eliminated some warning locations by explicitly casting so that
I could turn on error on warnings in the msvc solution file.