Bazel: Introduce .bazelversion and update to 0.29.1

The minimum required bazel version is defined in the WORKSPACE and is
checked at build time. However, to support the bazelisk wrapper, we
need to define the version in .bazelversion. Bazelisk will automatically
switch to that version (downloading it if necessary).

Add a .bazelversion file, and introduce the mechanism to consume it in
the WORKSPACE rather than defining the version in two separate places.

When bazel is used directly, it still checks that the minimum version
is used. When bazelisk is used, it will switch to the exact required
version.

Bump the bazel version up to 0.29.1 as the currently specified minimum
version (0.19.0) doesn't work with this new setup.

Based on [1] by David Ostrovsky.

[1] https://git.eclipse.org/r/#/c/149966/

Change-Id: I6fe6d2e1f16b15bbad80979fcb8d76f843f69a19
diff --git a/.bazelversion b/.bazelversion
new file mode 100644
index 0000000..25939d3
--- /dev/null
+++ b/.bazelversion
@@ -0,0 +1 @@
+0.29.1