Reworked some parts of the MachineContext to make its status clear.
While this is much better at tracking the status, Eclipse is still
"greedy" about the information that can be tracked concerning projects.
The current handling allows for more detailed listening to the machine
context status, and detects deleted or closed projects and "deactivates"
their machines. In addition to that, the machines get initialized in a
lazy way, as they are needed. This is currently done be requesting an
active machine, as putting it into getActiveMachine() caused troubles
with the SimulationViewEditor's recreate being called double (once
during get, and then as listener). This is not near an optimal solution
right now, but works reasonably well.