Updates the Pigeon definition to uses non-nullable generics now that it's possible.
In practice for this plugin it's currently a no-op: the only affected collection is passed from Dart to native, on the Dart side the source was already a `List<String>`, and on the native side we are using languages without nullability support in generics (Java and Obj-C). However, to do this now eliminates tech debt, and will avoid problems if/when the native side switches to Kotlin/Swift.
The Android implementation required some non-trivial changes to adapt to an earlier Pigeon change that we hadn't picked up yet, which was the change from `Result<Void>` (which turned out to be incompatible with Kotlin) to the separate `VoidResult` class.
Part of https://github.com/flutter/flutter/issues/155891