Make reek run warning-free

Enables warnings during the spec run, and fixes the following warnings:

* 'circular require considered harmful' due to some needless requires
* 'copying extra states' warning when using Hash#reject
* 'character class has duplicated range' warning due to using match
  matcher with a string argument
Yeah, IMO, it's preferable to avoid negation when possible. In this case I also don't see how ```val``` can ge greater than ```max``` so i works out.