allow_value.with_message takes i18n interp values
v_n_o no longer treats numbers as floats

Essentially validate_numericality_of when used with a comparison
qualifier required you to use only_integer when the validation itself
had only_integer on it, because the boundaries of the comparison were
tested using small decimal numbers rather than whole numbers. This
change was introduced in bc110f7, but is obviously is a backward
incompatible change, so we are reverting it.
Fix tests for ComparisonMatcher to use proper error messages