1.0.7.14: thread-safe INTERN, EXPORT, &co
* Modifications to packages grab a global lock. INTERN is the only
real potential performance bottleneck here, but as long as the
symbol already exists it doesn't need to get the lock.
We need a global lock instead of a per-package lock because eg.
(EXPORT 'FOO::BAR :FOO) and (INTERN "BAR" :ZOT) can conflict, even
though they operate on different packages.
Since races should be rare we use a spinlock to avoid making a
system call for every release.
Interrupt safety? Probably no. It's likely that you can wedge the
package system into a bad state if you really try.