Add extra cheapseats entries to the travis build matrix

- Push travis's build matrix (http://docs.travis-ci.com/user/speeding-up-the-build/) to run 5 jobs concurrently
Revert "Pin nodejs to the version we use locally."

This reverts commit c3383199d0446a211b5b2f1f6abf385e3c47a407.

Travis only provides the latest stable version (0.10.x), so 0.10.31
is no longer available on some machines.
Merge pull request #833 from alphagov/more-pseudo-concurrency

Add extra cheapseats entries to the travis build matrix
Add in convenience methods to gauge whether query is flat
Remove dashboards from git

- When we run cheapseats locally we end up with a `dashboards` folder, we shouldn't be adding this into version control
Add in _unflatten method

- Rolls back flattened data to look like unflattened data
- Still needs to assemble a `_group_count` key by counting group name values (e.g. number of channels of a particular type)
Group flat data by a key using `groupByValue`

This is essentially a shim that will convert flattened data into grouped data, ready to be reflattened!
The backdrop response that comes back 'flat' is not the same as spotlight's understanding of 'flat' so this is a temporary fix before we refactor data parsing in a more wholesale way in spotlight, once we're certain about the way it comes back from backdrop
- takes a value and an array of collects
- rebuilds grouped objects ready to be pushed through the remaining parsing methods
- adds `getCollect` convenience method to `data_source.js`

Parse groups with more than one record correctly

 - Move to using groupByValue function rather than flatten
 - needs some looking at aggregations that are not sums
Merge pull request #835 from alphagov/feature/parse-flattened-data

Regroup flat data responses
Request flat data for the availabilty module

- Adds `flatten: true` to query-params of the module
Add in flatten parameter to user satisfaction module
Extend table module query params to ask for flat data
Use upstream winston rather than our fork

They’ve merged my pull request, so stop using our fork. Essentially this
change removes the ugliness from
abbfaa6eed650f783a64c769d72c01f7a3401fcc.
Merge pull request #840 from alphagov/use-upstream-winston

Use upstream winston rather than our fork
Merge pull request #837 from alphagov/feature/flat-data-for-user-satisfaction

Add in flatten parameter to user satisfaction module
Merge pull request #838 from alphagov/feature/flat-data-for-availability

Request flat data for the availabilty module
Merge pull request #839 from alphagov/feature/flat-data-for-table-view

Extend table module query params to ask for flat data
Check for groupedBy before flattening

- If we don't have a `group_by` value in the `data_source` we shouldn't attempt to regroup the data by this field.
- It looks like data comes out 'flat' if we don't have a `group_by` value.
Merge pull request #841 from alphagov/feature/flat-data-for-journey-series

Flat data for users at each stage module
Push the callout tip back onto the text box
Merge pull request #842 from alphagov/bugfix/reattach_callout_arrow

Push the callout tip back onto the text box