Interval macro

This introduces the macro `@make_interval`

The user types arbitrary code and a correct bounding interval is created, e.g.

`@make_interval((2.1-pi)*(2.1+pi), pi*pi)`


Regarding the convert and promotion rules (lines 134 and 135, below), we should add rules that handle explicitly the case of MathConst.