Add SchemaDescriptor{,Builder} plus tests