Pipeline implementation working for SimpleAdd

I have the SimpleAdd benchmark working in the pipeline (no forwarding)
implementation. JR seems a little goofy so I will check after I get a
JAL and JR working.
Jump broke the pipeline execution

Backed out my JR code that I pushed because it broke the execution of
the pipeline. The SimpleAdd program now works correctly. JR not
implemented.
SimpleIf benchmark working branches implemented

If a branch is taken or not the pipelined version of the processor works
with the SimpleIf and SimpleAdd benchmarks completely. Jumping was also
implemented along with branching since a jump is just an always taken
branch.
SumArray benchmarking working

Got the SumArray benchmark working. It gave light to a very subtle
timing issue we had in the register file. It is fixed now and SimpleAdd
and SimpleIf were re run and they passed.
SwapShift benchmark working

Implemented the pipelined JAL by using 3 nops since we have to store the
value of the PC to the ra register.
All benchmarks tested and working

All benchmarks have been tested and are correct for the pipeline with no
bypassing implementation. Will mark this commit as a release so we can
revert back.
Merge remote-tracking branch 'origin/master'

Conflicts:
	load_processor_tb.tcl