Added support for watch task

Hi,
I've added support for watch task. It basically watches for file changes and rebuild the tree without need to run the server. I wanted to use grunt-broccoli along with test runner (like karma) in a way that tests will run automatically whenever the tree is rebuild.

I've also added support for background watch so grunt won't be blocked (idea from grunt-karma plugin). General code was a little bit modified in order to be reused between task and background script.

This is my first pull-request to node.js based project so if there is something wrong, please let me know. Implementation idea borrowed from broccoli-timepiece.