Remove unused function in dataset
Improve tests for insight.DataSet

Tests cover all the functions that are exposed.
Remove dependency Grouping tests have on insight.DataSet

When testing insight.Grouping, we should be creating dimensions and
crossfilter data ourselves rather than relying on DataSet to do this
for us.
Simplify Grouping tests
Update dimension tests
Improve design of Dimension and ChartGroup [SoC code smell]

Previously, the Dimension.applyFilter expected to be passed in a list of
active dimensions and was responsible for removing dimensions when no
filters were applied.

In this change, the ChartGroup is responsible for managing its
list of active dimensions.
Add initial test to cover insight.Dimension.applyFilter

This function does not have any tests covering it.
Merge remote-tracking branch 'scottlogic/develop' into feature/deferred-data-loading
Added custom jasmine matcher

The matcher checks that two arrays contain the same elements without
taking the order of elements into account.
Added tests for appyFilter
Testing filtering on an empty dataset
Grouping tests for empty dataset
Added DataProvider as base container for all InsightJS data
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.