CDK-529: Use GenericRecord instead of GenericData.Record.

Use the interface rather than the concrete class for generic Datasets
methods. This prevents an incompatible API change if the generic record
implementation changes in the future.