Conditional Branch, Branch, LDR works

LDR works sort of, the way we have our pipeline its really difficult to
update the M4K data each clock cycle. This is the case because the M4K
block isn't updated till the next postive edge of the clock. A simple
fix is to drag it by another clock cycle. Another method would be to
handle flush and stall on a different phase of the pipeline.
Merge branch Johnny-StringCharacter into master branch

This version appears to have working STR/LDR and working conditional and
unconditional branches.