#13: Fix watch functionality to work in parallel

This is a follow-up to #48, capturing the full changeset.

@markdboyd, Ccing you here for the continued discussion.
This needs a loadNpmTasks:
```
grunt.loadNpmTasks('grunt-parallel');
```