BUG: eval_hermite overflows early and h_roots are inaccurate at high order (#1991)

Fixes #1991. 

The h_roots changes are just those described in #1991 by @charris.  After this h_roots returns the same roots and weights as numpy.polynomial.hermite.hermgauss. 

The changes to eval_hermite allow evaluating higher order polynomials than were possible using the relationship to the laguerre polynomials.