Do not buffer report prints

* Especially on bigger projects with lots of alive mutations the pause
  after finishing killing could lead to the assumption that mutant is
  stuck.
Change runner to use queue parallel interface

* This should make the use of --fail-fast flag more deterministic.
Simplify collector and result internals
Prefer block pass from symbol over literal block
Prefer Object#is_a? over #kind_of?