Add support for REPL multiline

Based on the great work by Time Erickson - finishes off the REPL multiline.
Similarly to Roslyn REPL, we keep buffering on `{`, `[`, `(` pending missing characters, using exception suppressing. 

Fixes #222, #292, #293, #294