FORGE-1012, FORGE-942, FORGE-554 (Multiple bug fixes for Shell)

* FORGE-1012 Set the console reader thread to a daemon.

This ensures that Forge terminates immediately upon exit without requiring another keystroke to unblock the blocked reader thread on System.in

Also modified the invocation of the exit command on Ctrl+D to issue a new
line upon exit to ensure that the shell prompt appears in a new line.

* FORGE-942 Use Jansi for reading characters in Windows

This is the default jline2 behavior. Reading is delegated to WindowsSupport.getByte on Windows instead of reading directly from System.in. This makes keystrokes like arrow keys available as events to the ConsoleReader, thus triggering the browsing of the Forge command history correctly. Command history now works well in Windows as a result of this.

*  FORGE-554 Provide options for autocomplete relative to the typed paths.

The fix was to ensure that PathspecParser computed the options relative to the supplied path instead of the drive root.

Also fixed a bug involving display and usage of forward slashes instead of the OS file separators when displaying the paths or accepting them as user input in Windows.