The reason behind this refactoring is that all of the sketch related functions can (and will) be used for other purposes.
Build in the sketch directory: This will make it easy to handle artifacts after the build.
Separate sketch related functions from IDE installation script. This is the main commit.
Create a separate job for the Cmake check. This check was part of one of the Linux build. I believe that it's not the best place for such a check.
Checking for the skip landmarks and validity of the the sketch directory were already done by count_sketches.
Cache downloaded tools.
Cancel duplicate jobs.
Use current repo when linking the core, this allows users to test their code when creating PRs against their forks (for instance an error in an example sketch will build successfully in a fork workflow.)
Cache Arduino IDE.
Add workflow_dispatch to be able to trigger the workflow manually.
* Rework the sketch builder to match the IDE
* Link the board to the home folder
* Rename files for clarity
* move ci files to own subfolder
* Update Github CI to use the new script locations