Implement POSIX mprotect() semantics, and fix fencepost bug in adjacent-...

...mapping merging.

Resolves #926.  Nothing more fun than fixing fencepost bugs half the morning.