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.
Convert EmptyEnsure to be compatible with the Commissioner class
Clean the CLI class after the Commissioner refactoring
Remove #inspect method from cops

This is not needed anymore as we traverse the AST only with the
Commissioner object.
Rename #inspect to #investigate

To prevent collisions with the #inspect method defined on Object.
Rename #source_callback to #investigate in all cops

If a cop needs custom processing of the file source it should
define the #investigate method.
Add documentation about how to define custom processing in cops
Add specs for Commissioner
Merge pull request #352 from edzhelyov/introduce-commissioner

Introduce commissioner
Replace deprecated #stub and #mock with #double in specs

They are deprecated in RSpec 2.14.
https://github.com/rspec/rspec-mocks/commit/843a40f
New cop CommentAnnotation.
Make rubocop's comment annotations pass its own inspection.
Merge pull request #353 from jonas054/comment_annotation

New cop: CommentAnnotation
Get correct BOM handling by upgrading parser dependency to 2.0.0.pre2.
Merge pull request #354 from jonas054/fix_bom_problem

Get correct BOM handling by upgrading parser dependency to 2.0.0.pre2.