Update ARCH_CL_SIZE to 128

On archs which have the "Adjacent cache preloader" turned on, the caceh line
size is effectively 128, not 64.
Remove superfluous declaration
Fix ifndef for PARLIB_DEBUG
Make all uthread ops interrupt safe by default.

Previously the only interrupts we had were the alarms used by preemptive
schedulers.  This meant it didn't make sense to incurr the overhead of
enabling/disabling uthread interrupts on every yield/init, etc. call for
schedulers that didn't need it. With the change a few weeks ago to leverage
the interrupt mechanism for syscall interpositioning, it is now necessary to
handle all of this logic internal to the parlib library.
Add calls for disable/enable notifs and move to event code
Overload backing thread to perform async syscalls

Previously, our async syscall mechanism relied on pulling a pthread from
a pthread pool to run our async syscalls.  Since every thread lready has
a backing pthread now though, we overload him to now perform the task of doing
these syscalls instead of allocating a whole new thread just for that purpose.
Only block on syscalls when necessary.

We now leverage the O_NONBLOCK flag to the open call so that we will only
invoke our backing pthread to do the syscall for us if it would have blocked
us. Otherwise we just do the syscall and continue.  In either case, we do
a yield back to the scheduler so it can make a new scheduling decision.
Update internal_pthread_create to be more robust
Only to atomic_swap, not atomic_cas (unnecessary)
Move lock after checking queue.

No need to grab the lock every time we check the queue since we only start
pulling things out of it if there is anything to pull out anyway.
Trigger thread paused callback instead of blocked
Add more syscalls for the syscall interposition
Add new vcore api call vcore_request_specific

This call allows you to rerequest a specific vcore from the system.
This is useful when you want to yield the core back so as not to waste cpu
cycles, but you want to make sure you get the same one back when you reequest
it again in the future (for purposes of per-vcore structures).
Make it so the fread and fwrite calls dont block

This required some changes to the bsic infrastructure of syscalls, as well as
some small changes to the existing read/write calls.  I also removed close as
a syscall that we override.
Add the likely / unlikely macros
Update internal_pthread_create to take stack_size

This change is in preparation for moving to a model where we don't actually
rely on pthreads underneath, but instead use clone and mimic the necessary
parts of a pthread in order to trick glibc into thinking we actually have
a pthread.
Add pdr_style spinlocks for linux

Linux doesnt actually need true pdr locks because vcores can never be
preempted.  They do however need the semantics of disabling notifications like
an irqsave lock has.  I added this feature, and renamed
uthread_enable/disable_interrupts() to match the name used in akaros
(uth_enable/disable_notifs()).
Code review for spin_pdr_locks