Refactored Dataset

The goal is to move Dataset toward being a simple container of variables,
dimensions and attributes.