Convert NetworkStack shims from filegroup to libraries.

Currently, the NetworkStack shims are a filegroup containing the
shims for all SDK levels, plus networkstack-module-utils-srcs.
The whole filegroup compiles against either system_current (for
NetworkStackNext and friends) or the latest stable SDK.

This CL changes that to one java_library per SDK level. This
ensures that each shim level (e.g., NetworkStackApi30Shims) can
only use classes that are present in its SDK level. It also
allows a shim implementation to directly subclass the class it is
shimming, and automatically have all the methods (and only the
methods) that the real class has at the shim's SDK level.

This requires a few drive-by changes:
1. Because the shims are no longer a filegroup, they can no
   longer contain networkstack-module-utils-srcs. Move that to
   NetworkStackAndroidLibraryDefaults which already contains
   framework-networkstack-shared-srcs.
2. Change CaptivePortalDataShimImpl from the @NonNull in
   android (which the shims shouldn't depend on) to the @NonNull
   in androidx.
3. Remove the NetworkStackApiStableDependencies target. This is
   no longer necessary because the compat jarjar rules are now
   directly on NetworkStackApiStableShims.

Test: m NetworkStack NetworkStackNext
Test: atest NetworkStackCoverageTests
Test: atest NetworkStackTests NetworkStackNextTests
Test: atest NetworkStackIntegrationTests NetworkStackNextIntegrationTests
Change-Id: Icdac8247efebd763bfb4387ee51e8c09ef8c7fd8
2 files changed