Add Range.Iterator for floats

I have added a new Range.Iterator for floating point numbers. This provides an additional level of precision for ranges. 

``` elixir
iex> Enum.count(1..3)
3
iex> Enum.count(1.0..3.0)
21
```

The number is incremented based on the precision of the greatest number so `1.0..1.25` would be incremented by `0.01` and `1.0..1.25678` would be incremented by `0.00001`.

Tests are included.