Make collector runner lazily evaluate messages

So that messages can be sent and evaluated as they come.
Make test not time-dependent
Merge pull request #2 from alphagov/make-collector-runner-lazy

Make collector runner lazily evaluate messages