Accept values that respond to `to_f` in FloatField.

The checking for acceptable FloatField values was verifying that values
fell between -Infinity and Infinity. This worked for any number object,
including BigDecimal in MRI 1.9.2 <= & JRuby. In MRI 1.9.3 >=,
setting a BigDecimal raised a type error.

Since BigDecimal values pack the same way as Float values and their
aren't min/max values for double/float fields in Protocol Buffers, a
simple `respond_to?(:to_f)` call will suffice when checking for
acceptable values.

Closes #90.
Add fallback support for activesupport 2