Add support for arbitrary flags to MemoryMap.

This also fixes up the documentation a bit, it was subtly incorrect.
Use `mmap` to map in task stacks and guard page

Also implement caching of stacks.
Update task-perf-one-million
Add benchmarks