Add ":installed" targets to bazel.

`bazel build :foo_installed` is similar to running `bazel run :foo_install`. However, the main differences are:
* If you change foo, then rerunning :foo_install reinstalls all transitive dependencies of foo. However, :foo_installed will only reinstall foo.
* You can run it in a build action.
* It's more compatible with --remote_download_toplevel, as we can guarantee that we actually have the file.

BUG=b:304630062
TEST=portage/tools/run_tests.sh

Force-Relevant-Builds: amd64-generic-bazel-cq
Change-Id: I3cd9ed1f0b6423f27430c09165f873c19f6d74dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/bazel/+/5125051
Reviewed-by: Li-Yu Yu <aaronyu@google.com>
Auto-Submit: Matt Stark <msta@google.com>
Tested-by: Matt Stark <msta@google.com>
Commit-Queue: Matt Stark <msta@google.com>
155 files changed