Add cross-architecture syscall handling abstraction

Instead of addressing the registers in struct user
Remove x86_64-specific bits from the code

Except for WORD; that's going to have to change
Remove unused variable
Add extra warnings to compilation flags