Change components from an array to a map.

Makes extending a whole lots easier.
Added a failing test for ellipses bug.

If you have more than one module on a page say... a dashboard and one of the modules is configured to use ellipses it will do a select for all '.tick's on the page.

Meaning that many modules will get concated when they shouldnt...
Fixed problems where we were doing global lookups (DANGER!) instead of local to the view
We don't need to make these vars.
New user-satisfaction bar-chart.

Takes the breakdown of a user-satisfaction score and displays in a bar chart.

Renders the bar on a 'reset' (ie when we populate the collection) from user-satisfaction-graph
User satisfaction graph view.

Takes a single stat, completion rate and bar chart and adds them to a new user-satisfaction-graph view.

Tests.
Enable user-satisfaction graph.
Refactored the remaining components() methods to use a map.

Arrays just don't make sense for components...
Style the bar like a journey.
Remove the yaxis from the breakdown.
Moved this to a client side test as it was failing the server side tests.
jshint error after refactoring the components into maps.
Trying to fix failing tests on travis.

Phantom is not playing nicely with browser widths.
This makes me sad but I can't see how to make the default viewport width for grunt-jasmine-node any bigger.

It's a totally valid test :(
Merge pull request #541 from alphagov/feature/user-satisfaction-graph

User satisfaction graph