Add specs for Range#size
Implement Range#size

This method was introduced in Ruby 2.0.0.
Move infinite range expectations to their own example
Remove type check of last range element when calculating size

`Numeric` returns `nil` when compared to another type. This causes an
`ArgumentError` when trying to build a range that starts with a
`Numeric` but ends with a different type, and thus, it is unnecessary to
check the end element because it _must_ also be `Numeric` if the first
is.
Merge pull request #2622 from zaeleus/range#size

Implement Range#size