Update numericality comarison matcher more accurate

Hello.

This PR is expected to fix #419.
I was debating which difference value to use, and adopted 12 digit decimal value which is safe (considering IEEE 754) and pragmatic enough.
(I think this will cover more than 99.9% cases, but if we want 100% real accuracy we might need another total different approach.)

Thanks!


#### EDIT ####
I'm sorry, looks like the PR doesn't work for:
```ruby
it { should validate_numericality_of(:age).only_integer.is_greater_than_or_equal_to(18) }
```
Test for that case is missing. (Combination with only_integer, even or odd.) 
I will close this PR for now and think again.

This could be a workaround for the above but doesn't meet the some spec tests this time. 
(like 2.5 and 3 tests.)
```ruby 
  def diffs_to_compare
    if @value.is_a? Integer
      [1, 0, -1]
    else
      [0.000000000001, 0, -0.000000000001]
    end
  end
```
Anyway I will have to take some time to think about this more.
I'm so sorry to bother you with this immature PR.