Add support for Review Bot workers in Docker.

Review Request #12137 — Created March 11, 2022 and submitted — Latest diff uploaded




This introduces a series of Docker images for running Review Bot
workers. Since there are so many tools, and not all of them are needed
for all deployments, Review Bot is split into a series of Docker images
for workers, focused on:

  • Base support for tools without external dependencies
  • C analysis
  • Go analysis
  • Java analysis
  • JavaScript analysis
  • Python analysis
  • Ruby analysis
  • Rust analysis
  • shell script analysis
  • The multi-language FBInfer tool
  • The multi-language PMD tool

There is no comprehensive "all" image, but it's likely not needed.
In the upcoming documentation, we'll offer guidance on how to build
custom Docker images that use the explicit tools people need.

The images are currently built only for x86 architectures. ARM should
mostly be supported by the tools, with the exception of FBInfer.

Built all the images and launched them in a docker-compose.yaml.

Successfully performed reviews with all tools.

(There were issues with the RabbitMQ image crashing and restarting,
but this seems to be a Docker on M1 issue).