This implements the instruction analysis required to print branch
targets as part of llvm-objdump's disassembly.
Note, this only handles those branches which be analyzed in a single instruction, I'm working on a patch which handles multiple-instruction patterns where GNU objdump prints addresses (loads, stores, AUIPC/LUI+JALR pairs) which I will submit separately.
Even though it's fairly redundant, we tend to err on the side of testing both rv32 and rv64 at the same time. It would be nice to do so here.