This change modifies the process for generating and integrating the Meshtastic protobufs into the client application.
* The generated Swift code is now in a local SPM package `MeshtasticProtobufs`
* An Xcode Workspace file `Meshtastic.xcworkspace` was created to more easily manage the new build targets.
* The code generation script for the protos was modified to generate the Swift code into the new location.
* The README.md was updated to reflect these changes.
NOTE: After merging this PR, do not open the project file `Meshtastic.xcodeproj`. You must use the workspace `Meshtastic.xcworkspace`
Extracting out the generated protobuf code into its own library enables several opportunities for the project. This is just a first step, but with some more modularization, a standalone Apple Watch app or other targets starts to become a little bit more achievable to implement.
After extracting the protobufs into a Swift package, I validate these changes by building and running the Meshtastic app to an iPhone 15 Pro Max, and tried changing some settings on a local node. I then messaged back and forth using two local nodes connected to two different iOS devices.
* Change SwiftLint from a "Run Script" build phase to a "Run Build Tool Plugins" build phase.
* Developers no longer need to install and update SwiftLint manually. This can be useful when other projects are using different versions of SwiftLint.
* [SwiftLint Docs](https://github.com/realm/SwiftLint?tab=readme-ov-file#xcode-projects)
* [WWDC 22 - Meet Swift Package Plugins](https://developer.apple.com/videos/play/wwdc2022/110359/?time=162)
* Moved several scripts into a `.scripts` directory to keep the project root organized.
* Modified `.scripts/gen_protos.sh` to intelligently update git submodules and install `swift-protobuf` when it detects issues, reducing developer friction.
* Deleted the empty unit and UI testing targets. These can be added later as we write tests. someday 🙏
* Updated the README.md to reflect the above changes, and organized a few of the sections.