Completion optimization.

  -- do not call completion twice in a row :-)
First step (partially working but segfaulting -- due to qt signal/slots across threads)
Big reorganization of sources.
  -- rename remote to insulate
  -- move stuff into qidlelib
  -- move insulate into qidlelib
  -- rename main.py to qidle
  -- fix some bugs
Rework main qidle app.
Added basic docs --- README & LICENSE
Implement interrupt handling.
Plasma Widget + reorganization

  -- factor out the shell widget into a separate file
  -- create the basic infrastructure for the plasma widget
  -- cleanup (some) imports
Implement remote timeouted calls.

  -- make completion timeout if no response is received from
     the interpretter within 1 sec.
Prevent breakage when disconnecting signals while emitting them.

  -- this is done by postponing the disconnect/connect operation
     after the emitting is done
Restart the shell if interrupt is taking too long.
Implement basic html output from shell.
  -- when <html_snippet> is written to the console,
     it is interpretted (and displayed) as html
Add support for printing images to the console.
BugFix: Timeout completions earlier (and really timeout them)
Better handle enter when there is only whitespace after cursor.
Add a menu of watched files (allowing to unwatch files)
Add an icon to the watched files menu

  -- this indicates that the file will be unwatched
Merge branch 'remote_rework'