Fix GH278
add core.utils.as_shape
Add Variable.set_dims
Fix to_dataframe with no data variables