Add InputSource and OutputSink abstractions.

InputSources for String, File and Terminal.

OutputSink for Writers and PrintStreams.

Collapse FileTest into new test method of CLIClientTest as they were
virtually identical.
Skip jline if not tty and echo query manually when running file
No need for special file input checking
Correct typo
Test for command line arg handling
Fix ctrl-c
Send warnings and errors to stderr
Helper
Fix license headers
Minor cleanup
merge nathanlws: Abstract input and output

Merge pull request #32 from nathanlws/sql-layer-client-tools/abstract-source-and-sink
https://github.com/FoundationDB/sql-layer-client-tools/pull/32