disallow and throw erros for cyclic for tasks

 * Added public method to get all cycles.
 * Added check that no cycles exist for each added rule. 
 * Added unit tests for direct and indirect cyclic rules 
 * Updated README in tools
 * Added taskmanager to distr output
 * Updated tools/taskmanager to use new loop-checking taskmanager 

TESTED: 
grunt test