REPL and supporting changes #219

This PR handles the following

1. Changes help to only be displayed if "-?" or "-help" are passed as args.
2. If no args are passed executes the new REPL.
3. ScriptPackSession now has a new State dictionary for carrying engine specific session details such as the Roslyn session.
4. RoslynScriptEngine stores the Roslyn session in the the ScriptPackSession for later use by the REPL.
5. Engine is now exposed on the root.
6. New REPL classes are introduced along with a Console wrapper.

Tests coverage is needed for the new REPL functionality.