Remove ETQueue; add Queue abstractions, awaitQueueEmpty; change license

ETQueue was ill-conceived, in that it is possible to implement its
functionality in terms of existing STM primitives (like retry, check,
etc.).