i#1551 port to ARM: fix branch target bugs

Fix a bug in decoding signed immedates for branch targets, and update
branch target decoding to use the orig pc and named constants.

Fix a bug in patching branches with the proper target.

Review-URL: https://codereview.appspot.com/191390043