Implement Support For Full Debugging in Interactive Console

This is an extension/rework of the original Variables View in Console
option. Now the option for full debugging in an interactive way is made
available.

Now the data from Eclipse to pydevd going through the normal pipe rather
than being passed through XML-RPC. In the hookable XML-RPC server, when
idle (similar to GUI handling) the per-thread commands  are run. (i.e
debugger.processInternalCommands).

In the Debug view, I now merge the two sets of threads. I always present
the "virtual" interactive console thread first and then the real threads
that are within the console. This way when a user runs some code that has
a breakpoint in it, the breakpoint is hit in the real thread, while the
"virtual" thread is shown as running.

The "new" work is the last commit. All the other commits fix/improve various
issues related to the consoles and are individually documented in the
commit message.