Reorganized sub-workspace dependencies (#398)

This pull request contains various cleanup/quality-of-life improvements for the repository by clearly grouping and defining dependencies for the docs and examples workspaces. Ultimately, the files that are created in here can be moved entirely into their neighboring WORKSPACE files once bazelbuild/bazel#1943 has been closed.
diff --git a/docs/update_docs.sh b/docs/update_docs.sh
index a5e6503..569cd8b 100755
--- a/docs/update_docs.sh
+++ b/docs/update_docs.sh
@@ -1,6 +1,13 @@
 #!/bin/bash
 
 pushd ${0%/*}
-bazel build //... && cp bazel-bin/*.md . && chmod 0644 *.md && git add *.md && git commit -m "Regenerate documentation"
+# It's important to clean the workspace so we don't end up with unintended
+# docs artifacts in the new commit.
+bazel clean \
+&& bazel build //... \
+&& cp bazel-bin/*.md . \
+&& chmod 0644 *.md \
+&& git add *.md \
+&& git commit -m "Regenerate documentation"
 popd