Fixes issue 8504

#8504 

While evaluation sum as euler maclaurin formula with limits as integers check whether the expression is polynomail or not.
@skirpichev If `f` is polynomial, since when we substitue an integer `a+k` in this case in place of `i` we can exactly compute the result. So we can don't have to compute `f` using `evalf`. 

@Tempel  If both limits are integers. We don't have to do anything because we add all the `b-a+1` terms and exit at this [line](https://github.com/sympy/sympy/blob/master/sympy/concrete/summations.py#L307). So I don't think it is necessary to check the degree if you are just adding all the terms in __bruteforce__ way. I think the actual problem is in `evalf_sum` not handling polynomials seperately. We can pass in a polynomial p with huge difference in limits say `Sum(x, (x, 0, 10000)).evalf()` if this call `euler_maclaurin` will add all the 10000 terms one by one in the current implementation. So evalf_sum needs to be fixed I think.     

Also `Sum(x, (x, 0, p)).evalf()` currently returns `Sum(x, (x, 0, p))` this can also be fixed along the side I guess.