Actually keeping the process alive if an error occurs

If you have a syntax error in your code the grunt process will fallover
which is pretty annoying and contrary to what keepAlive is supposed to
do. This commit fixes this behaviour. The only issue is that watchify
appears to need to have been built successfully otherwise it just hangs
so I've had to add a check to see if it has already built successfully
otherwise it will fail.