removed unneeded argument, exception.c
checked buffer page at a time, also check writable
implemented swap discard, fixed swap code, other fixes
fixed duplicate swaps