CircleCI errors rather than timeouts if bg task fails

Previously if Sauce Connect or the screenshots script failed, they
wouldn't touch the readyfile and our while loops waiting on the
readyfiles would time out, even though neither Sauce Connect nor the
screenshots script were hanging, they just didn't notify us of their
failure.

Now they notify us of failure by writing 'ERROR' to their readyfiles,
which our while loops test for.
diff --git a/circle.yml b/circle.yml
index e7ec805..5ceed9e 100644
--- a/circle.yml
+++ b/circle.yml
@@ -46,7 +46,8 @@
           wget https://saucelabs.com/downloads/sc-latest-linux.tar.gz
           tar -xzf sc-latest-linux.tar.gz
         fi
-        sc-*-linux/bin/sc --user $SAUCE_USERNAME --api-key $SAUCE_ACCESS_KEY --readyfile ~/sauce_is_ready
+        sc-*-linux/bin/sc --user $SAUCE_USERNAME --api-key $SAUCE_ACCESS_KEY --readyfile ~/sauce_is_ready \
+          || echo ERROR > ~/sauce_is_ready
       :
         background: true
 
@@ -80,10 +81,14 @@
 
     # Wait for tunnel to be ready (`make server` and the trivial Node server
     # are much faster, no need to wait for them)
-    - while [ ! -e ~/sauce_is_ready ]; do sleep 1; done
+    - while [ ! -e ~/sauce_is_ready ]; do sleep 1; done; test "$(<~/sauce_is_ready)" != ERROR
 
     # Start taking screenshots in the background while the unit tests are running
-    - npm install wd && node script/screenshots.js http://localhost:8000/test/visual.html && touch ~/screenshots_are_ready:
+    - ? |-
+        npm install wd
+        node script/screenshots.js http://localhost:8000/test/visual.html \
+          && touch ~/screenshots_are_ready || echo ERROR > ~/screenshots_are_ready:
+      :
         background: true
 
     # Run in-browser unit tests, based on:
@@ -129,7 +134,7 @@
       done
 
     # Wait for screenshots to be ready
-    - while [ ! -e ~/screenshots_are_ready ]; do sleep 1; done:
+    - while [ ! -e ~/screenshots_are_ready ]; do sleep 1; done; test "$(<~/screenshots_are_ready)" != ERROR:
         timeout: 300
 
     # Stitch together images