* [swift5] Rename the API class to {{projectName}}
Instead of {{projectName}}API. This removes some unnecessary naming
complexity.
* [swift5] Define models and Configuration classes under namespace
When swiftUseApiNamespace is set, API classes get defined under the
projectName namespace. This does the same for models and the
Configuration class. Plus adding a deprecation warning when using the
un-namespaced variants.
* [swift5] Use CodingKeys in model decoder
Fixes: 0f5e7d1e3cb9 ("Swift5 models improvements (#9205)")
* [swift5] Add swiftUseApiNamespace to urlsessionLibrary config
* Update samples
* Try to reduce model changes
Co-authored-by: Bruno Coelho <4brunu@gmail.com>
* [swift5] Add useClasses to use `final class` instead of `struct`
* [swift5] Always include CodingKeys enum
* [swift5] Implement model equals and hash functions
* [swift5] Encode `null` values
* [swift5] Test `useClasses` in urlsessionLibrary
* [swift5] Add a required nullable prop test case to 2_0/swift/petstore*.yaml
* [swift5] Update samples and docs