Add Infinity and NegativeInfinity classes

* Some numeric types don't compare well to Float::INFINITY so
  create two stand-in objects that always compare against
  numeric values as expected.
Fix numeric comparisons in Infinity and NegativeInfinity
Add more numeric primitives to infinity spaceship operator tests
Add BigDecimal support for Infinity comparisons
Fix code alignment in case statements
Update flay and reek thresholds
Move minimum and maximum defaults to Numeric type

* The defaults are overridden in every other class that
  uses ValueComparable, and it's quite primitive dependent, so it
  makes more sense to move this to the Numeric type.
Fix minimum and maximum defaults

* This points to the need for more specs, especially for behaviour
  that is declared within the class body but not within methods.
* Also if mutant was able to mutate the body of code this kind of
  error wouldn't been found because change the value or removing the
  method would not cause any spec failures.
Upgrade mutant gem dependency
Update travis config to exclude 1.8 and allow ruby-head to fail
Upgrade gem dependencies
Remove unnecessary negation from spec
Remove 1.9.2 from the travis build matrix
Upgrade mutant gem dependency
Fix uncovered mutations
Upgrade gem dependencies
Remove RUBY_VERSION tests now that we only support ruby 1.9+
Upgrade gem dependencies

* Add rubocop configuration
* Remove backports gem dependency
Fix rubocop offences
Upgrade gem dependencies

* Update config files to be closer to the devtools defaults