* Make cibuild.sh consistent with CIBuild.cmd
The razor repo was inconsistent with how it handled CI build files. On Windows there was a custom build file, `eng/CBuild.cmd`, which implicitly passed along `-ci` only and required all other args to be explicity. On Unix we used `eng/common/cibuild.sh` which implicitly passed along `--restore --build --test --pack --publish --ci`.
This makes our YML file much harder to read and maintain becuase it has very different arguments across the platforms. This change addresses this by adding `eng/cibuild.sh` which effectively mirrors `eng/CIBuild.cmd` updates the YML file accordingly.
* Move to single build step
Instead of having two build steps that were `{{ if ... }`` on official builds have a single build step. This matches our behavior on Windows based builds.
* Break into restore, bulid and test phases
This matches our setup in Windows
* Use -nobl option
The --excludeCIBinaryLog option does not work on Unix due to a casing
bug. Using -nobl instead across all OS
https://github.com/dotnet/arcade/pull/12998
* fixup
* Revert the breakup into three steps
* Must restore