Separate spin-lock implementation from lock-implementation and put it into a non-public header, so it can be re-used by the DDE kit's and Fiasco.OC's capability-allocator spin lock. Fixes issue #123.