cappuccino/decode: make branch indicate signal more lightweigth

decode_bubble_o is a very heavy weight signal to depend on,
the only time decode_bubble_o can be asserted when there
is a branch instruction in decode stage is when there is
either an instruction in ctrl/mem stage or execute stage
producing a result that is needed by the branch.

Explicitly use that condition in the branch_to_reg signal.
cappuccino: move overflow disable to execute_alu

This will set the originating signals to zero when
FEATURE_OVERFLOW is "NONE".
make carry flag optional with FEATURE_CARRY_FLAG

The carry flag (SR[CY]) is mandatory by the spec, but
is rarely used by software.
This makes it possible to disable the support for it to
save resources and untangle some potential critical paths.

Currently only cappuccino actually disables the support upon
setting the FEATURE_CARRY_FLAG parameter to "NONE".
cappuccino/lsu: decouple storebuffer from external bus

Instead of exposing the store buffer directly to the external
bus, add an extra registered stage.
This will add a one-cycle latency on the first write when
emptying the store-buffer, but will at the same time
remove critical paths.

This should also make disabling the store buffer all together
more straight forward, but the work to make that possible is not
done here.