Move filter implementation to python so we have more flexibility when implementing filters.
Make sure deleted files are properly filtered by evaluating globs in the filter itself not before.
Make sure deleted LFS files are accounted for by scanning the history of the shallow clone for delete/changed lfs files.
Whitelist some additional shaders.
* More robust downloading of artifacts
Don't download to a temp file first
Try to retry download up to 3 times, if it fails
Fail Bootstrap if any download fails
* Fix contentbuilder and shadercompiler not forwarding to stdout
* Refactor sync script
Use single filter repo call
Use globs instead of python madness
Ensure shallow clone is clean before working on it
* Add dry run option to sync script
* Add public gitattributes