Re-factored the report generator to return the PackageTestResults object so we can interrogate it to check if tests have failed.

Also restructured the task-rules into there own package. Started developing a integ test using the DB.