- Move exception_return to exception.s which is a more logical home for it.
- Optimise the return path for syscalls so that they only restore a minimal set of registers instead of performing a full exception_return.
A new flag in the trapframe indicates that the frame only holds partial
state. When it is necessary to perform a full state restore (e.g. after an
execve or signal), the flag is cleared to force a full restore.