Move to using sys/queue instead of parlib/queue (they were identical)
Move to making upthread_lib_init a constructor

The idea being that if you link this in at all, you are probably
planning on using threads.  If we don't do this, then the main thread
changes identiity (via a call to pthread_self()) after the first upthread
is created (because it gets upgraded to a upthread itself at that
point).  We want it to always be a upthread.

Also fixed a bug related to the new uthread_lib_init() interface.
It returns void now, so we can't assert it returning 0.
Move to using mmap instead of malloc for upthread stacks.

We were encountering a really strange bug related to non-executable
stacks when using the malloc approach.  I remember trying to use mmap i
teh past and having problems.  Apparently this was related to not
properly using the MAP_PRIVATE flag.  See the man page.
Integrate the new async syscall stuff from parlib into upthread
Add confirmation message to syscall_test
Make async syscalls look like Akaros events