Timing bugs fixed, wrote simple assembler

Added realistic propagation delays to alu4 and finished the RAM delays, fixed a couple timing issues and tests all pass at 25MHz and 33MHz now. Am going to leave the clock at 25MHz for the time being, as that’s the actual goal (though 33MHz would be nice).

Also wrote a super simple assembler (if you can call it that) which pulls instructions/locations from microcode.txt and lets me write text instead of ones and zeroes. Should rewrite the tests to use this at some point, will make troubleshooting them a lot easier. Still avoiding working on CALL/RETURN at this point.