Implement arithmetic and numeric equality

Golog can now perform *, +, - and / arithmetic operations.
Expressions built from those operators can be compared for numeric
equality.

Automatic, high-precision numbers really shine here.  For example, in
Golog the following is true:

    0.3 =:= 0.1 * 3.

In SWI-Prolog and YAP it's false because they encounter floating point
rounding errors.