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 newline 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.
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.
Break out of reading from System.in on interrupt.
Merge pull request #332 from VineetReynolds/FORGE-1012

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