Branch semantics fixed

Reworked the B and BL instructions to obey correct ISA semantics.

Branches can now only take place over a range of +/- 32MB of memory as
in a real ARM7TDMI and are taken as an offset from the current PC.
Add a quick note on outstanding issues