Improve encapsulation of native connector interfaces

- Inject NativeMetadata into NativeConnectorFactory, just like DataStreamProvider et al.
- Make NativeSplitManager depend on the connector-specific NativeMetadata instead of global Metadata