Added a new "bitlock" abstraction.

2 bits out of a 32 bit or 64 bit values can be used as a lock. One for lock
and one to indicate waiters. The waiters are all kept on common lists. The hashing
of lock address to wait list is rather simple and we should put a simple crc lookup
table there instead.
Consolidate magic field type and definition of enum to one file.

Makes it easy to know what exists and avoid collisions.
Add lock free stack structure.

Will be used to hold free lists of various objects.