Initial stub for critical sections.

We need to make sure we have a process context very early, I already
know how to do it, so soonish we can remove crit_escaped, that is a
recipe for nasty bugs.
Import atomic.h from dragonfly.

atomic_cmpset_int had to be renamed on drm to drm_atomic_cmpset_int.
New MI mutex implementation with critical sections.

Use the new atomic functions to atomically swap mtx_owner.
Untested on UNIPROCESSOR.