Parse with parser

Using `parser` instead of `ruby_parser` would possibly resolve some of the parsing issues we've been having with newer Ruby syntax. The latest example is #307.

Since `parser` has a different philosophy, porting has been interesting:
* Emitted nodes are immutable, so the original TreeDresser didn't work as before. Now, just creates new nodes of the correct anonymous class.
* Comments are emitted separately. These are now merged into the nodes by TreeDresser.
* Parser can handle syntaxes of all major Ruby versions. To make tests pass on all Rubies, I've had to force it to use the Ruby 2.1 syntax. This should not be a problem for Reek.