* Avoids boot time mutation of REGISTER constant
* Allows to define project specific expression parsing
* Avoids custom (slow) serialization of Expression objects speeding up
reporter / killer IPC
* Improve specification
* Improve integration API as it now finally references an object the config
* Allow reproduction of syntax from Expression#syntax
* Allow instantiation of Expresssion objects without generating the
syntax, much nicer for most specs & internal code, avoids generating
a string to parse it into an expression
* Fix LSP violation in Mutant::Matcher namespace
* Warnings do not disturb master output anymore as we redirect stderr of
children to dev null. So the main reason for adding this feature is
gone. BTW Its planned to capture the stderr of childrens later.
* Warning expectations do not work very well under zombification as line
numbers change.
* I dislike the global infection RSpec does. This commit is a first step
to get a rid of it.
* Also remove the need for `require 'spec_helper` in each spec file with
adjusting `.rspec`.
* Nuke around 800 lock
* Honor LSP with not anymore squeezing something non LSP compatible in
the same inheritance tree.
* Separate running from result tree.
* Clean up kill logic and early exits on already dead mutations.
* Fix #runnin? smell for reporters.
* Decouple config object from VM state. Makes it serializable to enable
config loading.
* Fix sequence of global VM events to match PRIOR rspec infects VM with
gazillions of classes / modules. Thix fixes a startup speed
degeneration.
* Various fixes to enhance determinism.
* Replace some unneded manual double dispatch with single manual dispatch for
reporter / runners.
* Add Mutant::AST namespace to hold all AST related data / helpers.
* Mutant::AST will be externalized into an ast-meta gem that can be
shared with unparser for deduplication.
* Over the time the mutators itself will not need to deal with semantic
analysis of the AST anymore by themselves.
* Move AST analysis for send nodes to AST::Meta
* Fix#209