use grunt.warn to trigger a grunt error
Adding timeout option. Better async handling of timeouts

Adding timeout option Adding retires option. Using http module to decide
when the server has started. Waiting for child processes to die.