### Motivation
Update generated files and static library for Recoverable Transaction History changes
`mobilecoin/libmobilecoin` changes - https://github.com/mobilecoinfoundation/mobilecoin/pull/1773
### In this PR
* Update generated for FFI bindings added to support RTH
Soundtrack of this PR: [Kelvin Momo & Luu Nineleven - Hamba Nga Two](https://youtu.be/1SkZM6Wmwgc)
### Motivation
Previous release was compiled with incorrect environment variables which would lead to runtime errors in the Swift SDK. Ideally these errors should be caught in CI/CD before a release so test steps using the Swift SDK have been added.
### In this PR
* Change environment configuration to be correct
* Add test steps using the Swift SDK
### Future Work
* Factor out duplicate calls with parameters
### Motivation
Static library compilation is error prone, slow, and susceptible to machine configuration issues. Moving it to CI/CD solves a lot of problems with security and is a timesaver for developers.
### In this PR
* Update CircleCI config to build the static libraries
There are essentially 3 stages to the build process:
1. Compile custom rust-bitcode toolchain, and cache it in CI using the checksum of its configuration
2. Compile the static libraries, and cache it using the commit hash of the mobilecoin repo submodule
3. make "generated" files from mobilecoin repo like gRPC clients
> CI/CD is parallelized over the 6 build-targets for stage 1 & 2
### `mobilecoin` repo changes in updated commit hash:
* Add separate target to build toolchain for a given target
* Add toolchain config file that can be checksummed for cacheing
* Move LIBCLANG_PATH environment variable to `rust-bitcode` repo where its needed
### Future Work
* Compress and upload toolchains as artifacts for longer term storage, likely only change every ~6 months
### Motivation
SDK needs a way to calculate the `crc32` checksum from a `CompressedCommitment`
`mobilecoin` repo `master` is the commit we should use to compile the static libraries
### In this PR
* New header files and static libs for crc32 and newer mobilecoin repo commit
### Future Work
* Merge changes from `mobilecoin` repo into `master`
### Motivation
- Grpc Http Split for smaller library size
### In this PR
- Add HTTP & GRPC only targets to podspec so SDK consumers can choose less protocol support and fewer dependencies
### Future Work
- Add GRPC only support to MobileCoin-Swift
* Change makefile to use mobile-release profile path. Add variable for libmobilecoin profile. Update submodule hash (change after `mobilecoin` merge)
* update protobuf files, update submodule commit hash
* udpate hash
* update hash
* rebuild with all size savings for libmobilecoin. Add GCC & LTO optimizations
* keep debug symbols
* remove gcc & llvm_lto optimizations
* use updated mobilecoin repo with custom toolchain support if locally compiled
* recompile artifacts with locally created custom toolchains and add bitcode support to cocoapod spec
* use unstripped archives that still contain bitcode, add LTO & GCC z opt_level
* update makefile to use unstripped
* no longer use stripped archive file
* update commit hash, but will need to be updated again after the hash is merged into upstream
* no longer using stripped archive, switch to unstripped and name appropriately
* update submodule hash, increment pre version, remove make setup, not longer available for all recipe
* Migrate `fog` to `mobilecoin` submodule. Update bindings and headers to support new changes in `mobilecoin`/`fog` service (CompressedCommitment)
* update submodule to be correct
* add arch specific stripped libs
* dont track Artifacts
* working w/ arch specific binaries (not stripped)
* udpate submodule
* wip
* udpate submodule
* add Artifacts to repo
* copy stripped and unstripped
* use unstripped for now
* LibMobileCoin working w/ arch specific
* up-rev transaction.h to to match changes in `mobilecoin`
* updated mobilecoin repo
* remove checked in libs from old folder structure
* revert to old folder structure for binaries
* update submodule to use latest m1 plus compressed commitment
* add all targets to Makefile. Do a targeted copy of mobilecoin/libmobilecoin output directory so we only copy the binaries
* add compiled binaries for testing
* point to combined branch that includes m1 and compressed commitment.
* 1.2 release
* git modules needs to point to mc official remote. Remove commented code, unnecc code in podspec. Revert some small changes in podspec
* change name and url to mobilecoin
* update archs in podspec
* update spec, dont need non-stripped
* whitespace change, enable catalyst
* add catalyst build options