Parametrised intervals

Interval arithmetic rewritten to use parametrised intervals.
Tests pass.
Note the following behaviour:
```julia
julia> a = @floatinterval 1 2
julia> a ∪ ∅ # nice !
[1.0, 2.0]
julia> hull(a,∅) # nice !
[1.0, 2.0]
julia> a ∩ ∅ # HORROR (and not a hallowing joke!)
[1.0, 2.0]
```

So, I guess the best is to handle the ∅ as a set, and not really an interval; so we don't have to correct anything with the usual arithmetic operators, but correct `intersection`