Move finding longest path to UfoGraph base class
Add scheduler base class
Add shallow graph copies
Add shallow subgraphs
Improve longest path search

However, this requires also changes in the task graph expansion.
Add UfoGroupScheduler with a different policy