Add failing test for auto-update bug

Because search calls are asyncronous, it is possible for the results on a page to be in-consistent with the search form. This happens as follows:

1. Checkbox1 is checked triggering a search
2. An asynchronous call to the server (via cache etc) is made (call1)
3. Checkbox1 is unchecked triggering another search
4. Another async call to server is made (call2)
5. Call2 returns before call1
6. Search results for call2 are displayed
7. Call1 returns
8. Search results for call1 are displayed
9. The search results are now out of step with the checkboxes :(

This test requires that a state is passed in with the response when calling displayResults() and if the state matches the current (i.e. most up to date state) then the search results should be updated, else they should be ignored.
Require an action to be passed in to displayResults

Use the action (or state, as LiveSearch calls it) to check that these are the most up to date results, if the state has changed in the meantime, the search results block should not be updated.
Fix newly failing test

Pass the state into calls to updateResults so the tests pass
Merge pull request #107 from alphagov/fix-chaining-bug

Fix search auto-update bug