added functions for forward and backward recursive visiting of tasks,
also for determining critical path
added library for deep-cloning Project (needed to remove preceeding and
following tasks in top sort)