Remove TF dependency from IREE core (#4450)

This completely strips TensorFlow as a dependency of the core part of
IREE (basically everything other than `integrations/`). TF integrations
are in a separate workspace under `integrations/tensorflow`.

We still depend on mlir-hlo, which is exported as part of the TF repo,
but also available as the https://github.com/tensorflow/mlir-hlo
repository, which we use here as a submodule. To avoid ODR issues, when
built with integrations TensorFlow we define `@mlir-hlo` to contain
aliases for the rules present in TF.

Fixes https://github.com/google/iree/issues/4480
Fixes https://github.com/google/iree/issues/3312
Most of https://github.com/google/iree/issues/3311 (leaving open for
cleanup work)
diff --git a/.gitignore b/.gitignore
index 2e0b7c6..7ea5dd7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,7 +20,7 @@
 build-*/
 
 # Bazel artifacts
-/bazel-*
+**/bazel-*
 
 # Local-only config options
 configured.bazelrc
@@ -44,3 +44,4 @@
 
 # Pyenv files
 .python-version
+.venv