Moved constraint resolution to its own package

This change separates constraint resolution methods and logic from
the core WorldTree class
The idea is to allow pluggable constraint solvers

A constraint solver can be plugged in by changing the currently
hard-coded intialization in ConstraintSolver class
Working on brute force solver