Refactoring: put relevant functionality in Dataset().
Also add timezone support.  Closes #75