Do not error out when an invalid task is found when loading tasks via loadTasks().
Some considerable changes to the grunt runner, #7.

- Process signals are only attached when necessary (and detached when possible)
- Remove the callback support for the run()
- Various bug fixes and improvements
Finish tests for the grunt runner, closes #7.