Issue title: KeyToValueMappingTransformer need to expose the key-value map
 Issue body: The key-value map is useful to some scenarios: like in multi-class it is needed to interpreting the scores for each label. 
 Comments: 
 Comment 0: The transformer cannot expose this information, since it is an aspect of the data *being* transformed, not the transformer. The answer is, someone can access the key-valued annotation on the column of the input data itself, (as via [the `GetKeyValues` method](https://github.com/dotnet/machinelearning/blob/850559f62689d6ea4d91036dfdf5a0963a74634f/src/Microsoft.ML.Data/Data/SchemaAnnotationsExtensions.cs#L74) ).

The transformer cannot expose this information. So consider this. Let's imagine I have, to take the example of labels, a key-value column called `PredictedLabel` from a multiclass classification task. (A fairly common case.) I apply this transformer to data with predicted labels with key values of, say, `A`, `B`, and `C`. I would expect the output to be one of those values. But then let's imagine I apply precisely the same transformer to other data, likewise with a predicted label column, but with `W`, `X`, `Y`, and `Z` as the key values (that is, the class names). Should the output of *that* application be `A`, `B`, `C`, with an error maybe if the internal number corresponding to `Z`? Surely not! Instead it should be one of `W`, `X`, `Y`, and `Z`.

So I might ask that we verify that the transformer works correctly, but if it is working correctly, maybe we should close this issue, perhaps @sfilipi since if it is working correctly it must be clear it cannot have this accessor? (Since again it is not a property of the transformer itself.)
{'source': 'GithubIssues', 'repo_name_with_owner': 'dotnet/machinelearning', 'issue_id': 394552966, 'repo_stars': 8184.0}