Two-pass assembler now properly supports labels

Forward references should now work, as well as using labels
as immediate values for instructions that support it.
Word-alignment and signed value support also added in.
New/fixed test cases.