Fix gridlines for charts

Adds the gridlines back in, horizontally and vertically. Gridlines are
now clipped to be within the plot area of the chart, and line up with
the tick marks.

Also modified the gridlines() setter function to update whether or not
gridlines are visible for the chart.
Method renaming

Renames this.gridlines => this.showGridlines
Adds this.gridlines (again), returning a readonly array of all current
gridlines on the axis.
Adds tests for gridlines

Adds some new unit tests for gridlines.
Also defaults the gridline colour to the colour of the axis.
Remove redundant comment

We no longer comment out this.drawGridLines, so don't need the comment
explaining as such.
Merge pull request #70 from tpkelly/master

Fix gridlines for charts
updating how sorting works, still in progress
Merge remote-tracking branch 'upstream/master'
Autosize margins

Makes the chart resize whichever margin it uses for its x and y axis.
Makes the series provide sizings of all labels on x and y.
Adds tests that the correct margins are set.
Properly key data for longest label

Uses this.dataset() instead of this.data() to extract the values.
refactored when averaging is done, as the running average calculations were working in the tests but not for large datasets.  As we already loop through post aggregation, I just added it there
Merge pull request #71 from tpkelly/master

Autosize margins
commit prior to rebasing tom's changes
merged automargin pull request into my branch
removed artifact from merge
pushing refactor of post aggregation calculations