Replaced my ad-hoc E2 implementation with the Scipy standard one.

This passes the same tests, and I did some of my own testing to ensure it was close to the old function.

Check this out:
n [45]: for n in range(10):
   ....:     print e2(n) - E2(n) # e2 is the "new" one, E2 is my old one.
   ....:
WARNING: The integral is probably divergent, or slowly convergent. [scipy.integrate.quadpack]
1.0
-1.66533453694e-16
3.46944695195e-17
2.08166817117e-17
-2.06155405247e-13
-8.54010872436e-14
-3.38219578212e-14
-1.29868582251e-14
1.70871548519e-12
6.77900374656e-13

So, we're good.