`_decode_cf` should not add additional state to Dataset. Instead it should be passed on to `_set_variables` and `_as_variable`. If we want the option to use CF decoding later, we should expose `set_variables` as a public method.