Cleanup of DataArray constructor / Dataset.__getitem__

Now Dataset.__getitem__ raises a KeyError when it can't find a variable.