give MaxMinBase an evalf routine

Although Or, And, etc... will not have a number as an
argument, Min and Max can. When the operations version
of _eval_evalf is called a call to as_independent is
made. This creates an x (=1) that is assumed to be an
argument of the object so Max(0,y).n() becomes Max(1, 0, y) -> Max(1, y).
To avoid this an evalf routine was added to handle MaxMinBase separately.

fixes #7233