Eigen CI infrastructure

Eigen's CI infrastructure uses three stages:

  1. A checkformat stage to verify MRs satisfy proper formatting style, as defined by clang-format.
  2. A build stage to build the unit-tests.
  3. A test stage to run the unit-tests.

For merge requests, only a small subset of tests are built/run, and only on a small subset of platforms. This is to reduce our overall testing infrastructure resource usage. In addition, a weekly scheduled pipeline builds and runs the full suite of tests on most officially supported platforms.