Code:
  * Test mutant with dynamically created zombie.
  * Log all warnings through reporter, so remove random $stderr.puts calls

Mutations:
  * Add true masgn mutations
  * Add binary operator specific mutations (YAY, finally reached this point)
  * Add some kind of a "do not touch me object" that raises on all messages.
    It can be used to make sure each literal value is touched.
  * Replace nil or add "do not touch me object" to literal mutations.
  * Mutate options on Regexp literals
  * Add mutations for dynamic regexp symbol and string literals
  * Mutate "def foo; bar; end" to "def foo; self; end"?
  * Mutate Block catch "def foo(&block)" and block pass "foo(&block)"
  * Binary operator mutations
  * Add timeout to terminate infinite loops

    Example of a negative mutation:
      Mutations on local variables and arguments prefixed with an underscore would be emitted as
      negative mutations that must be alive.

Loader:
  * Make sure loader does not change visibility of injected mutants

Killers:
  * Move test framework specific stuff to strategy
  * Add a general master <=> killer IPC interface. So different strategies of isolation
    (fork, vs jruby runtime creation) will work without big impact.

Strategy:
  * Aggregate warnings on missing spec files
  * Provide "expicit files to kill with" strategy

Matcher:
  * Allow matches on attr_reader with literal name argument(s)?
  * Allow matches on define_method with literal name argument?

jruby-support:
  * Create a runtime per mutation to kill mutations in isolation