* refactor: change defined(MAS_BUILD) to IS_MAS_BUILD()
This is missing-definition safe and thus allows us to move the definition of this macro away from "all compilation targets" to "just the compilation targets that depend on this macro".
In turn this makes the rebuild time changing from mas <-> darwin only 80 seconds on my machine, instead of the 12-15 minutes it used to take. This will also allow us in the future to build both MAS and darwin on the same CI machine. Costing us ~2 minutes on one machine but saving us anywhere from 30 minutes to an hour of CI time on other parts of the matrix.
* build: always define IS_MAS_BUILD even on non-mac builds
* build: use extra_configs
* chore: add GN linter
* chore: fix GN lint errors
* try some crazy bash to get a gn exe
* base64 on linux is different
* cloning build_tools doesn't download GN
* download_from_google_storage needs depot_tools in the path
* fixup! chore: add GN linter
In the GN build, libchromiumcontent is no longer a distinct library, but
merely a container for a set of scripts and patches. Maintaining those
patches in a separate repository is tedious and error-prone, so merge
them into the main repo.
Once this is merged and GN is the default way to build Electron, the
libchromiumcontent repository can be archived.