Lots of action fixes and internal improvements

* Add git diff option to ensure_git_status_clean (#12063) via Nicolas Braun
* Add the git_submodule_update action (#12064) via Nicolas Braun
* Ignore FastlaneSwiftRunner.xcodeproj for detecting iOS project's of users (#12075) via Fumiya Nakamura
* Take xcconfig option into account when generating `xcodebuild -showBuildSettings` command. (#12067) via Chris Campbell
* Fixes app_store_build_number for finding latest version (#12073) via Josh Holtz
* snapshot - get actual sim device types instead of inferring by name (#12039) via Josh Holtz
* Fastlane.swift - Allow actions with zero options (#12065) via Josh Holtz
* get_version_number now uses xcodeproj gem (#12037) via Josh Holtz
* deliver - option for rejecting app when submitting if already waiting for review (#10722) via Rishabh Tayal
* Removed and/or for conditionals with rubo (#12049) via Josh Holtz
* download_dysm will now find more trains and versions by switching to tunes API (#12068) via Josh Holtz
* [spaceship] Raise a meaningful error if the device name is too long (#12059) via Thi
* Running dotenv before any lanes called so disable color can be applied to everything (#12047) via Josh Holtz
* Fix auto generated files link (#12033) via Iulian Onofrei
* Use xcodeproj to introspect Xcode projects (#12027) via Danielle Tomlinson
* Reinitialize Spaceship::Tunes.client different teams (#11970) via Matthew Nespor
* supply can call track_promote without passing an APKs (#12021) via Josh Holtz

https://github.com/fastlane/fastlane/releases/tag/2.86.0
