CDK-482: Added DatasetRepositoryProtocol, DatasetRepositoryServer, and RemoteDatasetRepository

* Refactored RemoteDatasetReaderFromFileTest to use RemoteDatasetRepository.
* Made minor modifications to DatasetDescriptor and Format to support serialization.
* Refactored Remote* to pass around Schema objects rather than Class objects.