0.9.5.61:
* threads don't inherit values of specials from their parents
anymore because:
1) dynamic-extent
Suppose your package has a non-exported special, binds it,
promises it's going to be dynamic extent and proceeds to call user
code. The user code spawns a thread and the promise is broken.
2) gc
It's hard to control giving out references to objects. Yeah, it's
similar to 1), but the colour of the smoke is different.
3) scaling
When starting up, a thread is given a snapshot of the parent
thread's current values for dynamic variables. This means that the
minimum memory required by a thread is proportional to the number
of specials.
1) and 2) are addressed by this change, 3) is not.
* not having lisp objects in unstarted threads allowed undoing
thread start vs gc recomplication and un-reinstating
STATE_STARTING