Added an SWTGatewayConnection which invokes methods on the SWT thread.
This allows py4j to edit the running UI more easily.
The option is off by default (there is a preference to turn it on)
Added protection if already SWT thread.
Created SWTCommand which delegates to another command, running in the
SWT thread if it can.

This means that pydev can be used in SWT mode.
fixed merge conflict. refs #112
code cleanup. refs #112
added todos. refs #112