New unit tests and fixed uncovered bugs

Created a comprehensive testing framework for easily testing the behavior of applications using pipeline through configuration. The tests reach 95% code coverage and tests user defined rules, error conditions, and optional task configuration. The new tests were able to uncovered a couple of bugs, the main one being that the rule parser was caching a closure containing an instance of pipeline.