Parametrised intervals

Interval arithmetic rewritten to use parametrised intervals.
Tests pass.
I wonder if `newton` should return an empty interval ∅ when there is no root in the interval inspected, and something like a `:none` or `:noroot`. I think we should do something alike when the interval returned is thin. For example, using a Wilkinson polynomial `f` of order 3 (just as in the tests),
```julia
  julia> a = @interval -0.25 0.25
  [-2.5e-01, 2.5e-01] with 53 bits of precision
  julia> newton(f, a)
  0-element Array{Any,1}
  julia> a = @interval 1.25 1.25
  [1.25e+00, 1.25e+00] with 53 bits of precision
  julia> newton(f, a)
  ([1.25e+00, 1.25e+00] with 53 bits of precision,:unknown)
  ```