Some fixes for Linux terminals (specifically, libvte based ones)

 * HOME/END keys fixed
 * Alt-D hotkey added (deletes the next word, standard in readline)
 * IO#getch replaced with IO#raw to make ALT-keys and arrow-keys work in VTE
   (Any keys which send more than 1 character to the terminal were getting
   the 2nd and/or 3rd characters dropped.

   After investigation, I figured out that IO#getch was using system calls
   to initialize/deinitialize raw mode EVERY time you called it. This introduced
   enough delay that it would miss some characters.

   KDE's konsole didn't have this problem because it emulates a 9600 baud modem,
   but VTE-based terminals, like gnome-terminal, guake, and xfce4-terminal
   send all the characters immediately.

   The solution was to just initialize raw mode once with IO#raw, and only
   deinitialize it after the user was finished with readline.

   This should fix pasting problems in VTE as well.)