don't print an error when failing to query stty information

When trying to execute stty to get terminal properties the code can trigger
an InterruptedException even though we've read all of the output from stty
or at least enough for what we need. Instead of printing a warning and
returning -1 in this case instead try to parse what data we do have and
reset the cache timer.
fix check for absolute path broken on windows.
Works even if file does not exist
Adds the KillRing class and its test.
Adds support for the yank and yank pop operations using the KillRing class to keep the killed text.
support for args expansion using status
Avoid falling in never ending loop in edge cases where the kill word or kill word backwards are invoked when the buffer is empty.
Drop use of ThreadLocal, which causes class loader leaks.

This reverts the main part of 0c6089be9dad12bd5902b0a54591319885cafd47.
#101 Ensure TerminalSupport doesn't cause classloader leaks
Correctly parse LC_CTYPE when a modifier is present

The POSIX standard says the format for LC_CTYPE is:

[language[_territory][.codeset][@modifier]]

This ensures that the modifer is removed if present when the encoding is
parsed from the LC_CTYPE environment variable.
Change windows tests to use assume
Add support for vi '^' move to first printable
ConsoleRunner: Fix a java.lang.UnsupportedOperationException that resulted from trying to remove an element from a list created with Arrays.asList.
added quoting and escaping
fix issue #144: let Windows support ALT+X keys.
Avoid infinite loop when killing end-of-line word

fixes #143
Merge remote-tracking branch 'fantasy86/master'
Merge pull request #88 from tkruse/fix_absolute_path_check

fix #87 check for absolute path broken on windows.
Make exception message match !$ event expansion
Merge branch 'pulls/95'
Avoid propagating exception on bad expansion