Fixes#3636.
This was added in #3009.
It was not made `public` because it was only used for #2841, but as
explained in #3636 it can be useful as `public`.
There were some questions about these in #2841, and realized we had no
test coverage for them.
This also improves the documentation of `CustomerInfo.nonSubscriptions`
and `NonSubscriptionTransaction`.
Fixes [CF-781]
Making `CustomerInfo.nonSubscriptionTransactions` return type a `StoreTransaction` was my mistake from an earlier refactor. I saw the two types were similar, so I made them conform to the same interface.
However, they represent different concepts.
### Changes:
- Added new `NonSubscriptionTransaction` type
- Deprecated `CustomerInfo.nonSubscriptionTransactions` with a `renamed` for a new `nonSubscriptions`
- Made the old `BackendParsedTransaction` initialization depend on the new type to avoid duplicating code
- Add new test to cover the new method, and left the existing one
- Added more checks in `CustomerInfoTest` for missing properties
- Updated all APITesters
[CF-781]: https://revenuecats.atlassian.net/browse/CF-781?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ