Don't do costly expand() on top of Order.__new__() method (issue 3654)

    Also, change compute_leading_term -> as_leading_term, as
    compute_leading_term(x) for x*(1 + x**2)**10000 calls expand() too.
    This seems to be related to Add._eval_nseries method.  Sometimes,
    it doesn't return order term (e.g. (1 + x**2).nseries(x)) - that's
    why Pow._eval_nseries() does actually expand_multinomial() for
    (1 + x**2)**1000.
Fix test failures after removing expand() in Order.__new__() by using additional simplify() calls
Add _eval_as_leading_term() for polygamma

    fix test failure O(1/digamma(1/x)) == O(1/log(x))
    in test_order.py
Use expand_power_base to factor out some constant coefficients
Added test for issue 3654