Batches in serialize

So far "serialize" was implemented by setting forks on Runner.
This PR changes it so it's an actual loop over batches of hosts (like in ansible-playbook) and shows results after each batch (that's the "Run and report each batch separately" commit). It also adds a status line that shows how many hosts have been contacted so far, and number of successes/module failures/connection failures ("Add progress information when running tasks").
There were some problem with Ctrl-C, and I think it's still not really resolved (maybe even re-initializing Runner would be needed?) - this needs more testing.

I also smuggled in a test setup - if you like it, I volunteer to add some more tests and Travis CI integration. If not, I'll happily remove it from this PR.