do not increase precision when scaled 0 is obtained
all evalf must accept **opts
make is_positive and is_negative like new assumptions
allow .evalf to take None for n; unify evalf arglist names
change _evalf to _evalf_binprec to make difference obvious
add literal handling to special evalf routines