Add ListView and tests

ListView expects a couple of parameters on the collection that is
allocated to it:
  - `label-attr` defines the attribute used to pull a label from the
    models in the collection.
  - `link-attr` *(optional)* is used to get a link from the models, if this is
    defined then ListView will wrap the labels in an anchor tag.
  - `url-root` *(optional)* can be passed through to prefix all links if they are
    relative

It will use these parameters to generate an OL inside of itself.
VisitorsRealtimeCollection -> ListCollection

We are going to need basically the same functionality for gathering and
displaying data for the ListView, so rather than writing something new I
thought I would generify this class.

All functionality as expected by visitors-realtime should have remained
the same, I have adapted and not removed any of the tests.
Timeseries, sort by _timestamp if no _start_at

When porting VisitorsRealtimeCollection to ListCollection I left in
data.reverse(). This was used to rearrange the data returned from
Backdrop into the correct order. Timeseries already tried to rearrange
the order of data based on _start_at, but realtime data about visitors
only has _timestamp. As ListCollection is now more generic, the job of
ordering should be the responsibility of Timeseries (probably should
have been before).

I have changed Timeseries to prioritise ordering on _start_at but if it
doesn't exist then fall back to _timestamp. Tests as proof!
ListView should use a ListCollection

We are sharing ListCollection with the VisitorsRealtimeView and it is an
extension of MatrixCollection. This means that we have to change how we
get the values out fo the Collection to the lovely
.first().get('values').
Add ListModule, some data and add to no-realistic

The data returned by preview at the moment looks a bit wierd by
illustrates the point.
Add an optional regex to extract label

We have some text we want to strip off from the labels we get back from
Backdrop. I have added a label-regex parameter to the module which gets
used in ListView. If it exists to will be converted to a RegExp object
and exec'd on the label, the first group in the regex will be extracted.
Style the ListView

Used counters, which are CSS 2.1, to do an OL list-style with no dots
after the number. The *list-style-type fallback should work for IE6+7 (I
have tested in IE6 and it looks fine.
List module should be able to apply more styles

We need to cater for the fact that ListModules can be organised into
both a 2 and 3 column layout. In order to cater for this I have
introduced a 'classes' attribute into the stagecraft config which will
be merged with the default class 'list'.
Add better stagecraft config and column styling

I've limited the column layout for modules down to just .list at the
moment as it is the only module which .cols2 is avaliable.

I have added the stagecraft config but the trending config is still
pointing at the wrong data, this will be changed when the data is
available.

I added the list module to the Stagecraft linter such that it would
still do its great job and lint all the things.
Ignore our tools directory when linting

At the moment our tools directory scripts are a bit hacky and getting
them in line with the style of the rest of the codebase will take a fair
bit of work so I'm ignoring them for the time being.
Add a script to lint a branch

I feel we should be fixing the lint errors in every file we touch when
working on a new feature or bug. This means we can just lint against the
files that have changed between the current branch and master
Fix lint issues
Merge pull request #214 from alphagov/list-module

Adding, configuring and styling the GOV.UK list modules