fix grunt functional test crashes

Apparently when you run mocha tests (a) as a subprocess and (b) with multiple arguments, it crashes on first failure. If either of those is not the case, it will run all tests as expected.

We have to run as a subprocess, but we don't have to run with all test arguments on one line. Instead, let's loop through them one-by-one so we get nice output and test continuation even if some tests fail.