store_buffer: remove redundant fifo_raddr signal

This extra signal serves no purpose but to make the code harder
to read, connect read_pointer directly to raddr instead.
store_buffer: use re logic of ram instead of registering fifo_dout

Since the RAM already is keeping it's output data registered,
it's more area efficient to take advantage of this than
registering it in the store buffer.
Thanks to Florent Kermarrec for reminding me about this.
rf: use mor1kx_simple_dpram_sclk instead of rf_ram

With the addition of a read enable signal to
mor1kx_simple_dpram_sclk, it can act equivalent to rf_ram.
Swap all users of mor1kx_rf_ram and delete the module.
execute_alu: optimize barrel shifter

Instead of doing the actual shift operation seperately for each
shift/rotate operation, bit-reverse left shifts and only perform
a right shift.
The difference betweeen SRA, ROR and SRL is handled by
calculating a OPTION_OPERAND_WIDTH-bit word that is shifted
in from the most significant side of the result.
mor1kx_store_buffer: avoid unnecessary subtractor
change module definitions to verilog 2001 style
cappuccino/lsu: add option to disable store buffer

This adds a FEATURE_STORE_BUFFER parameter that let the user
make a speed (in terms of IPC) vs area choice.
top: change module definition to verilog 2001 style
add missing FEATURE_STORE_BUFFER to top module

This was missing in the previous commit that added this
feature parameter elsewhere.