Use parser instead of ruby_parser for parsing

Because parser is currently under more active development and has less
parsing bugs, switch from ruby_parser to parser for parsing the Ruby
code to be investigated.

This has several consequences:
- Flay depends on ruby_parser. To avoid confusion due to ruby_parser
  being available during tests, removes flay as a dependency
- Source code formatting is done with unparser. Unparser tends to
  produce multi-line source for blocks and if statements. These are now
  post-processed to fit one one line, with intermediate lines replaced
  by ellipses.
- Unparser version 0.1.16 does not work on MRI 1.9.2. Support for that
  version of Ruby is therefore dropped.
- Parser uses a different AST with different node types, so all smell
  detectors and sexp extensions have been updated to match.
- Parser uses immutable objects to represent its AST. This means our
  TreeDresses has to create new objects while processing the AST, rather
  than extending the existing ones.
- Parser outputs comments separately from the AST. This means
  TreeDresser now also adds the relevant comments to each node.
- Detection of some smells has improved.
- Reek enforces parsing with parser's 2.1 syntax parser. This is not a
  problem for the kind of use reek has for the AST. Reek also blocks
  parser's warnings about possible syntax differences between Ruby
  patch versions.
Use relative reek path for rake task.
Merge pull request #325 from troessner/use-relative-reek-path-for-rake-task

Use relative reek path for rake task.
Merge pull request #312 from troessner/issue-parse-with-parser

Parse with parser
Group smell description details into a class
Allow Travis failures on JRuby and Rubinius
Merge pull request #324 from troessner/introduce-smell-description

Introduce smell description
[WIP] Refactor SmellWarnings initializer.