Add atBegin option to run tasks when watcher starts

I've added a new option to this task that will run all of the tasks when the watcher starts. In order to test this, I had to leak some information out of the assertTask helper because there was no way to cancel the watching without changing a file. I'd love to have a better way to do that, so let me know if you have any thoughts on how to change that.