Add watch-tests and server-test-watcher tasks to Gruntfile to enable liv...

...e reloading of test pages when developing.

I'm not sure about the naming of the tasks, and am happy to change them. I also added both a concurrent task which runs both the server and the watcher and a specific watch task. Unfortunately, the watch task cannot be named 'watch' due to this bug https://github.com/gruntjs/grunt/issues/1260.
I don't think we need `concurrent`.  We could just make a task such as
`'livereload-tests': ['connect:keepalive', 'watch:tests']`

It seems like you want to use `concurrent` more for tasks like builds that you start they stop automatically when done. Rather than tasks that are just running until you stop them, such as a test server.