Merge series module settings with axis-labels

We were duplicating information about the series on graphs, so I have
mereged them into one superduper axis information object.
Rename axis-labels to axes.

It now has more that just labels in it, so we should just name it axes
to signify that it is information about the axes.
Make y axes arrays by default

Make y axes' data structure consistent with multi-series graphs.
Load steps from axes.y for journey modules.

For consistency with other modules with `axes` property in configuration when rendering tabular data.

Default `key` property of journey step to `uniqueEvents` to avoid repetitive input in module config.
The reason uniqueEvents is the property for all journeys is due to the collect query that we make to backdrop.
When it collapses events it will collate the numbers as uniqueEvents.
Default completion numbers module axes

This was forgotten when doing the previous sets of defaulting.
Drop keys from axes data on grouped_timeseries
Rename conversion graph components to journey graph

For consistency between module name and corresponding visualisation.
Remove hard-coded property names from Journey graph.

Fetch data from Journey collections based on the graph view's `valueAttr` property instead of using hardcoded value of "uniqueEvents".
Remove hard-coded "uniqueEventsNormalised" property from data points, in favour of calculating the percentage values dynamically.
Add a `max` method on journey-series collections to calculate percentages of maximum values.
Change property used for data lookup in visitors-realtime view

Was using `selectedValueAttr` as the property to store the data key. Change to `valueAttr` for consistency with other views.
Render tables with data from collection's `getTableRows` method

Abstract as much of the presentational aspects out of the collections and into the table view.
Split tables into thead and tbody elements.
Remove hard-coded key for availability graph.

Hard-coding `avgresponse` as the key for an availability graph caused the graphs for both tables to display the same data.
Removing it allows the graph's `valueAttr` property to define the data displayed.
Move hide-show instantiation until after the table has been initialised.

It was initialising with a table that didn't exist yet.
Return rows of journeycollection as table columns

Remove now defunct getDataByTableRows method.
Filter columns of availability module tables

Do not render data for columns with defined keys that are not the valueAttr for the table.
Removed now-defunct getDataByTableRows method.
Remove redundant getDataByTableFormat methods from collections.

This is all handled by `getTableRows` now.
Fix label and key that got swapped in refactor
Fix config for SORN grouped-timeseries graph
Fix grouped-timeseries config for tax disc and vehicle licensing
Swap `instanceof Array` for `_.isArray`

See http://nodejs.org/api/vm.html#vm_globals
grunt-jasmine executes specs in new vm contexts which break instanceof
Restrict null/undefined data defaulting to journey module

Graphs with undefined data were being erroneously flattened to zero then they should have been left undefined.