Raising a friendly error on non-identifier syntax bindings (previously silently a useless operation).
quasiquote should check to quote literal identifiers, not just symbols
Simplifying scheduler case where the only available thread is waiting on a port.
Instead of a one-time poll, we just use the default small sleep + loop case,
so we use the normal poll next time through the scheduler.
This fixes a potential case where a lone thread waiting on I/O could hang,
discovered by Lorenzo.