Handle BigDecimal Ranges

Comparing a BigDecimal to `Float::INFINITY` throws a `FloatDomainError: Infinity` exception in ruby MRI 1.9+ and a `TypeError` on 1.8. This causes the comparisons in `Arel::Predications#in` and `#not_in` to fail when using BigDecimal values, which can often happen when using PostgreSQL and ActiveRecord, as AR casts `numeric` values in PostgreSQL to BigDecimal.