Ken asssembly reserved stack space

Now that I understand this, do accounting right
Support both Hw and Sw trapframes for contexts

The context passed to a singal may be stored in either a hardware or a
software trapframe, so wee need to make sure we extract the info from it
at the right offsets.  Since KenC doesn't support nice macro
preprocessing, we are left with this monstrosity.  Shouldn't ever change
though (or at least not often), so it's fine.