Debug: Changes in software traces

There are multiple changes:

 * As the newlib changes are now upstream we do not have the l.nop K
   statements to trace exceptions.

 * Instead there are now two new trace events, 0x10 is an exception
   with the exception id as parameter. 0x11 is emitted on every return
   from exception (l.rfe).

 * As also the trace port will soon be upstream, this combined
   execution trace port is directly used instead differentiating ports
   for ITM and STM. Both modules do now themselves use the appropriate
   signals from this trace port.

 * STM needs to detect program counter 0x100, 0x200, ... 0xf00 and
   emit the 0x11 trace event.

 * STM tracks the instruction stream for the l.rfe instruction.

This patch contains all changes to the systems (mainly replace
trace_itm and trace_stm with a single trace port), provides updated
trace_monitor, SystemC STM module and STM RTL implementation. The
testbenches are also adapted.
Tbench: Create work directory if not exists