pthread: Populate mmap'd stack pages

Nadav Har'El reports that tst-pipe.so starts to hang some of the time
after commit c1d5fcc ("mmu: Anonymous memory demand paging"). Tracing
page faults points to pthread stacks which are now demand faulted.

Avi Kivity explains:

  It's a logical bug in our design.  User code runs on mmap()ed stacks,
  then calls "kernel" code, which doesn't tolerate page faults (interrupts
  disabled, preemption disabled, already in the page fault path,
  whatever).

  Possible solutions:

  - insert "thunk code" between user and kernel code that switches the
    stacks to known resident stacks.  We could abuse the elf linker code
    to do that for us, at run time.
  - use -fsplit-stack to allow a dynamically allocated, discontiguous
    stack on physical memory
  - use map_populate and live with the memory wastage

Switch to map_populate as a stop-gap measure until OSv "kernel" code is
able to deal with page faults.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
test.py: add tst-pipe.so

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>