Extend grouped_timeseries to calculate percentages.

We want the option of displaying percentages on line graphs with
multiple series. Extend the grouped_timeseries module to allow
this.

Unlike the stacked graphs, where D3 does the percentage calculations
for us, we need to calculate the percentages ourselves for line
graphs.

Also store the original values of the data - we'll need this to
display on line labels and in callouts.
Extend line-graph to pass percentage-related options.

When we are showing percentages on a line graph, pass
relevant options through to our callouts and line labels.

I don't think this needs tests (but might be wrong...).
Extend callout to allow percentage options.

Currently callouts don't allow percentage options, because they're
not used on stacked graphs, only line graphs.

Now we have percentage options on line graphs, extend callouts to
show percentages if configured.
Set domain for any kind of percentage graph.

Currently only the stacked graph has an option to set the domain
correctly for a percentage graph. Now we want both stacked and line
graphs to be able to display percentages, so push this up to the
parent method.
Extend line labels to deal with percentage line charts.

We want line labels on percentage line charts to show both the percentage
and the original value of the data. We stored the original value back
when we parsed the collection.
Add percentage line charts to no-realistic-dashboard.

Also add percentage stacked chart since Henry wants to keep this
around as an option.
Amend existing "device type" graphs to use new percent line charts.

This does not include the content dashboards - I assume they're
generated by a script, and would prefer to regenerate them using
that :)
JSHint fixes
Remove unnecessary variable
Update tests
Fix line labels for line graphs showing percentages.

Where line graphs show percentages, we want the lines to be
labelled.

However, we want the labels to show the last value on the line
- not the overall summed values and percentages, as we use
on stacked graphs.

Amend the way we calculate labels accordingly.

Story: https://www.pivotaltracker.com/s/projects/911874/stories/72594902
Fix null data with grouped timeseries percentages

When calculating the percentage with a numerator of null and a
denominator of either 0 or null, NaN would end up in the path
element that D3 creates.

Ensure that we don't bother trying to manipulate null.
Merge pull request #536 from alphagov/enhancement/unstack-device-graph

Unstack device graph