Cleanup storage of Dataset internal state

`_variables` and `_dims` are now stored as OrderedDict and dict, not my funny
dict subclasses VariablesDict (which I'm pleased to say is gone) and
SortedKeysDict (which is now created on demand when accessing the `dims`
property). This speeds things up a bit and makes the internal state more
obvious.