DataSet inheriting from DataProvider

Fixed failing tests and removed DataSet tests covered by
DataProvider.spec.js
Temporarily assigned the DataSet.getData function to be
DataProvider.extractData
Improve test coverage for DataSet

Added test to check call of DataSet.group for one-many groupings
Grouping inheriting from DataProvider

Removed functions for ordering and filtering since these are defined in
DataProvider.
Temporarily assigned getData to extractData.
Removed getData from DataSet and Grouping

This caused an associated update to the library code and all tests pass.
Ensuring a Series wraps an array inside a DataProvider
Allowing an axis to be drawn with no associated data

Axis margin calculations were previously resulting in NaN if there were
no tickValues.
Added tests to DataSet and Axis to cover empty data.
Allow auto margins to work if a domain has no axis

Fixed bug in Axis.calculateLabelOverhang where a chart using formatted
and rotated axis tick labels with no data would throw an exception.
Update Axis.domain to handle empty data

Previously, for an axis with a date scale the domain produced was
not correct.  We have fixed this and written tests to define the
expected behaviour of all axis scales.
Workaround for an issue with crossfilter 1.3.7 not handling empty data

Added a Grouping test for the issue and worked around using exception
handling.