Moved AST classes into their own module.
Better API for replacing AST matches.
Prefer new RSpec 2.11 syntax for expectations.
Use colour when displaying RSpec results.
Switch to structs where appropriate.
Prefer flat_map{...} to map{...}.flatten