Fixes for bug 617021 and 586688



> I've never really liked the macsyma behavior where you attempt to get a
> numeric result but it insists on leaving constants like %e around.

The intuition here is surely that if you say float(%e^x) or
float(x^2), there's not much point in getting back 2.718^x and x^2.0.

If the whole expression can be reduced to a float, it should: %e^2 or
(%e^3-2^%pi) or 3^(log(2)-3).

But how about intermediate cases?  Should (%e+1)^x become 3.718^x?  Is
that more useful or meaningful than the original form?  Yes if you're
comparing it to (7/2)^x or if you're going to be calculating the
numerical value for 10000 values of x.

How about x^2^400?  Arguably x^2.58e120 is more meaningful than
x^258XXXXXXXXXXXXXXXXXXX376.

          -s