Get the single measurement key for the given value.

val The value which has one measurement key.
default Determines the fallback behavior when val doesn't have a measurement key. If default is not set, a TypeError is raised. If default is set to a value, that value is returned if the value does not have _measurement_key_name_.

If val has a _measurement_key_name_ method and its result is not NotImplemented, that result is returned. Otherwise, if a default value was specified, the default value is returned.

TypeError val doesn't have a _measurement_keyname method (or that method returned NotImplemented) and also no default value was specified.
ValueError val has multiple measurement keys.