Upgrade gem dependencies
Change mean and variance to use a Rational not a Float

* This should reduce some rounding errors
Fix usage of be_within rspec matcher
Add explicit require of rational
Update expression order to be slightly easier to read
Remove support for 1.8 from testing matrix
Remove exceptions for the ruby version
Upgrade gem dependencies
Remove join from list of methods to proxy
Upgrade mutant gem dependency
Update flay threshold
Add Attribute#optional?
Refactor Attribute to use #optional? internally