Patch Set 1: No score

IWorkspaceRunnable is no good interface for an operation. The user thinks he has to execute the operation using Workspace.run. But that is not right for all EGit operations.
Currently many operations are used by just calling op.run.
Thus I introduced a new interface with an execute method. Those operations that need a workspace runnable and a scheduling rule do the workspace runnable in their execute method (e.g. branch). It's an internal of an operation how it needs to execute.