Add mechanism to selectively preempt

It is dangerous to preempt functions that are not reentrant. For
instance, a function like printf() might grab a kernel-lock. When
scheduling in another proclet while printf() is running, it may
deadlock if calling printf() again.

libmn now provides an API to allow the user to decide when it's safe
to preempt.