Add $SAFE to the list of built-in global variables
Code style
New cop EmptyEnsure
Code style
Fix deprecated spec idiom in RSpec 2.14

`expect { }.not_to raise_error(SpecificErrorClass)` is deprecated.
https://github.com/rspec/rspec-expectations/commit/dccf4aa
Override config parameters rather than merging them.

Config parameters were merged recursively down to any depth of hashes.
There's actually no reason to do this. Only one level needs merging,
and that is the parameters under each cop name. The only cop that
currently has a parameter that is a hash, is CollectionMethods.
Merge pull request #347 from jonas054/fix_config_merge_340

Override config parameters rather than merging them.
Improve performance on Ruby 1.9

Parser makes use of `Array#bsearch` if available to optimize a critical
bit of logic. `Array#bsearch` was introduced in Ruby 2.0, so we need to
backport it to optimize the performance on Ruby 1.9.
Update changelog
Initial change that introduce the Commissioner class
Improve commissioner

* Raise exceptions when required. This helps in isolated testing.
* Only call methods that are defined.
Dynamically define callback methods in Commissioner
Cops don't inherit from Parser::AST::Processor anymore

This forced some minor changes in the way how some Cops
work.