shell: rough in code for async i/o
shell: more async output scaffolding.
shell: add locking to the output thread.
shell: make the evaluator asyn as well.
shell: continue with the async output reporting.
shell: The mutex is not actually needed.
shell: cleanup, before going fully async
shell: serialize the scheme evaluator.
small improvement to fix a crash
shell: more serialization work.
shell: more async output hacking around
Memory Optimization: release all the instances for each pattern, when its n+1 patterns are extracted, only record the count.
Merge pull request #1016 from shujingke/PM

Memory Optimization: release all the instances for each pattern, when it...
shell: fix deadlock from the previous commit
shell: improve documentation
shell: fully async printing in guile
Merge pull request #1015 from williampma/SmallChange

R2L/SuReal: small improvement to fix a crash
async evaluator: fix double-print
async output: one last, final fix.
evaluators: restore the older backward-compat API