Closes#1336
* removes all the deprecated methods
* removes Ruby 2.3, 2.4 and Rails 4.2 from travis
* bundle updates the test gemfiles
* Removes some pre-5.0 logic from a test helper
* Targets Ruby 2.5 with rubocop and fixes violations
We could also remove support for Rails 5.0 and 5.1, which are now EOL,
but I don't see a strong reason to do that. We don't seem to have to do
anything special to support those versions.
One annoyance is that the thoughtbot defaults include the Rails
cops, which don't quite make sense here. I am forced into loading the
rubocop-rails gem but then disabling all of the cops in it.
This pushes rubocop to the latest version. They have since extracted out
the performance cops into the rubocop-performance gem. Those cops were
originally used so I pulled the gem in and required it.
I consolidated all the development dependencies in the gemspec,
then ran `bundle update` and `appraisal install`.
I also got rid of unnecessary version constraints (I would rather just
the latest versions of things in development, and we can always add
constraints later if necessary), and removed the jruby-specific gems
since we aren't testing on jruby anymore.
With `git ls-files` we were still including unneeded dotfiles and
appraisal files. This switches to a whitelist of files included in the
gem, rather than a blacklist. I also tried to make RuboCop happy while I
was in here.