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.