Refactor hits aggregation into scopes

* Stop prolferating hits methods to site
* Use scopes to allow more flexible composition
Remove versions JS

* It's no longer being used
* Was previously kept as an example
Split aggregated scope into parts

* Create scopes for different groupings
* Use new scopes in hits controller
* Add graph points
Add simple hits graph to top of hits views

* Draw graphs using Google Charts API
* Manipulate hits data into format needed by API, using
graph_points_from_hits
* Create hits.js for loading and drawing graph
* Pass points data through to hits partial
Minor cleanup of hits controller data access
DRY up hit category graphs
Break up feature assertions and interactions

* Split interactions and assertions into feature specific files, eg
mappings and hits
* Break up and group generic assertions using comments
Add feature test for errors graph

* Check for correct dates and counts of error graph, correct legend
text and trend colour
* Use Russell's SVG text matcher to check for text element content (CSS
text check fails due to bug in Poltergeist)
Create test for hits js module

* Add jasmine spec runner for hits module
* Be explicit about where 'google' is called from
* Fix bug where arrayToDataTable was mistakenly called with new
Put colours back in the hits graphs
DRY out hits category assertions

* DRY out the archive, errors and redirect assertions
* Allow for flexibility of new category types and different sized
summaries
Reduce fragileness of hits JS spec

* Remove unnecessary load tests
* Remove unnecessary chart.draw tests
* Be clearer about testing the data used and the container to draw into
Include all category graphs in feature

* Add steps for archives, redirects and other graphs
* Include expected colours
Create feature test for summary graph

* Check for correct data, trend colours and legend text
* Notably we cannot test that a trend colour is tied to the right data
set
Tidy up graph's horizontal axis

* Hide individual item ticks
* Generate a friendly axis title
* Include momentjs to make date formatting easy
Add unit test for setting graph trend colour
Make summary points Google Charts-compatible
Move graphs to a single hit_graph partial

* Make sure we've got one code path for everything
* Remove the old "special case" for category
Switch from discrete to continuous Google chart

* Better date and axis handling, automatically fills in missing dates
* Switch from arrayDataTable to passing a JSON representation of a data
table
* Remove the X axis title and tests, they are no longer needed
* Remove helper library too
* Rename raw_summary_array to google_data_table
Minor hits_helper readability tidy