Added some unit tests, more to come.

The last test is not passing, it terminates on Decoder::DecodeARM, the problem seems to be that it's not properly identifying the opcode as a BL instruction.