Add queuelock_t, an MCS lock implementation.

This patch adds a queuelock_t spinlock. This lock
is a bit more efficient on systems with large
distributed caches (less bouncing of lock
cache lines). The ticketlock_t is remains
the default spinlock choice, however.