* Added fuzzing script to run all fuzzing targets on cron jobs.
* Added travis fuzzing script and `FUZZING_DURATION` to control fuzzing time.
* Given a total fuzzing duration, select 1 target to run for half of
the duration, and divide the remaining duration over the rest of
targets equally.
* Added `FIELDPATH` to the list of available fuzzing targets.
* Added fuzzing method for creating `FIRFieldPath` objects.
* Added corpus and dictionary for `FIRFieldPath`.
* Added fuzzing targets read from env variable.
* Refactored Serializer fuzz tests in a separate file
* Separate header file for each fuzzing target.
* Write crashing outputs using `artifact_prefix` flag to `NSTemporaryDirectory`.
Created `Firestore_FuzzTests_iOS` Xcode target as a duplicate of the target
`Firestore_Tests_iOS`.
- Added `-fsanitize-coverage=trace-pc-guard` to the compiler flags to enable
code coverage by libFuzzer fuzzing driver.
- Modified the files to compile to the fuzz testing ones.
- Added a Principal testing class.
* Modified the `Podfile` to include `LibFuzzer.podspec` as a dependency for
the target `Firestore_FuzzTests_iOS`.
* Added a skeleton for fuzz testing. Currently does not test any code but
the fuzzing works fine and calls an empty `LLVMFuzzerTestOneInput`
with different input values.
- This means that fuzzing does not finish or crash.