Don't silence test errors

This moves the test logic from the makefiles to a shell script, because then we can still clean up the `liveassets` directory without  needing to silence the errors thrown by `grunt test`.
Yeah, we're not taking advantage of any of Make's features (parallelism, avoiding redundant builds) so it's basically just become a list of task aliases. I think it would be better to have a few top-level shell scripts for tasks like this and leave everything else to the other tools Grunt, npm etc.