CI: circle.yml source of truth for Sauce build name

Before the same algorithm was duplicated in shell form in circle.yml as
well as in JS form in script/screenshots.js. Now it's in shell form
twice, in two different places in circle.yml, but at least it's only in
one file.
diff --git a/circle.yml b/circle.yml
index ce28761..5718fb8 100644
--- a/circle.yml
+++ b/circle.yml
@@ -102,6 +102,16 @@
     # Start taking screenshots in the background while the unit tests are running
     - ? |-
         {
+          build_name="CircleCI build #$CIRCLE_BUILD_NUM"
+          if [ $CIRCLE_PR_NUMBER ]; then
+            build_name="$build_name: PR #$CIRCLE_PR_NUMBER"
+            [ "$CIRCLE_BRANCH" ] && build_name="$build_name ($CIRCLE_BRANCH)"
+          else
+            build_name="$build_name: $CIRCLE_BRANCH"
+          fi
+          build_name="$build_name @ ${CIRCLE_SHA1:0:7}"
+          export MQ_CI_BUILD_NAME="$build_name"
+
           time { test -d node_modules/wd || npm install wd; }
           time node script/screenshots.js http://localhost:8000/test/visual.html \
             && touch ~/screenshots_are_ready || echo EXIT STATUS $? | tee /dev/stderr > ~/screenshots_are_ready:
diff --git a/script/screenshots.js b/script/screenshots.js
index 86f490a..6ac4efc 100644
--- a/script/screenshots.js
+++ b/script/screenshots.js
@@ -19,14 +19,7 @@
 var baseDir = process.env['CIRCLE_ARTIFACTS'] || '/tmp';
 var url = process.argv[2];
 var allImgsDir = baseDir+'/imgs';
-var build_name = 'CircleCI build #' + process.env.CIRCLE_BUILD_NUM;
-if (process.env.CIRCLE_PR_NUMBER) {
-  build_name += ': PR #' + process.env.CIRCLE_PR_NUMBER;
-  if (process.env.CIRCLE_BRANCH) build_name += ' (' + process.env.CIRCLE_BRANCH + ')';
-} else {
-  build_name += ': ' + process.env.CIRCLE_BRANCH;
-}
-build_name += ' @ ' + process.env.CIRCLE_SHA1.slice(0, 7);
+var build_name = process.env.MQ_CI_BUILD_NAME;
 
 fs.mkdirSync(allImgsDir);