Relax yajl-ruby dependency

I'm currently unable to satisfy this dependencies:
```
Bundler could not find compatible versions for gem "yajl-ruby":
  In Gemfile:
    foodcritic (>= 3.0.3) ruby depends on
      yajl-ruby (~> 1.1.0) ruby

    yajl-ruby (1.2.0)
```
Cache results of read_ast call

In order to speed up linting a project, we can cache the results of
read_ast between calls. In a real world repo that reads over 800 files,
that change more than halves the time (50s vs 2:15).

The test suite also gets a nice boost as a result.
Use LRU cache for read_ast

Using an LRU cache keeps memory usage from growing too much. Performance
is roughly the same with just holding the 5 most recent files in memory.
FC006: don't fail when mode specified as array ref

Refs #211
Match server warning 003 anywhere in test output.

In the case of this step definition, we should match FC003 on any
line of the test output.
FC003: test for Solo can be a ternary expression

If solo mode is checked in a ternary expression, before search is
used, FC003 should not match.

refs #185
Merge remote-tracking branch 'zts/fix-issue-185'
Merge remote-tracking branch 'dougbarth/ast_cache'
Merge remote-tracking branch 'elgalu/relax_yajl-ruby'
Add Ruby 2.1.0 to .travis.yml