Exceptionhandler

* Die Exceptionhandler als Trap- statt Interruptgates eingetragen, damit
  sie auch unterbrechbar sind.
Syscalls und cpu_state

! Der cpu_state des aktuellen Prozesses darf nur in dispatch()
  überschrieben werden, nicht am Anfang eines Syscalls in der Hoffnung,
  dass der Wert auch später so bleibt. Das führt zu ekelhaften Race
  Conditions, falls zwischendurch der Timer feuert, dispatch() den Wert
  ändert und dann irgendwas überschrieben wird anstelle des States, der
  in den Userspace zeigt. Dementsprechend muss man diesen Userstate
  einfach mitführen und an alle Funktionen explizit übergeben, die ihn
  verändern wollen (insbesondere in fork() und exec()).
Merge branch 'master' into mounting