implement Graph#getDepth()
add Planner implementing the planning process
add BackwardChainingPlanExtractor

Rename PlanIterator to BackwardChainingPlanIterator.
refactor planner package structure

Group related concepts under the same package.
implement PlanCollector