cappuccino/execute_ctrl: seperate rf_wb and rfd_adr logic

There's no point changing the destination register (rfd_adr)
on e.g. pipeline flushes etc, as long as the control signal
(rf_wb) is correct.
cappuccino/ctrl: combine spr_npc, du_spr_npc and du_restart_pc

There's really no gain seperating the logic for those three
signals as they are essentially the same.
There's still room for optimisation in the spr_npc generation,
but this is the start for that.
cappuccino/ctrl: fix du_access writes to spr_sr when cpu is stalled

du_access to spr_sr was guarded with padv_ctrl,
but that will not go high when the cpu is stalled,
so any writes with from the debugger to spr_sr would fail.
cappuccino/ctrl_branch: remove preventing branches on syscall

With branch resolving in decode stage this situation
is not valid any more.
cappuccino/fetch: remove unused branch_occur_edge signal
cappuccino/fetch: remove unused branch_fetch_valid signal
cappuccino/fetch: seperate exception branches and 'normal' branches

branch_occur_i was a combination of branches from decode stage
and exceptions, while branch_except_occur offered a seperate
exception only signal.
This removes the combined decode stage and exception branch
signal.
The signals are also renamed to reflect their respective names
in other modules.