flatten Add at start of relevant _eval_is_* routines

also make sure Expr._eval_is routines don't use self.is_
or else you will get a recursion error with the added test
involving f(0).
8081 negative ints (all but -1) are composite
randomize traversal of facts

This may help to expose errors in _eval_is routines that apply
constraints to the solution that are not in the prerequisites for
a fact.
transcendental: irrational & !algebraic

This is in accordance with the definition at wolfram alpha
introduce and test finite_real assumption