Bessel Functions and more.

fixes #100

Added a whole bunch of numerical Bessel related functions:
* AiryAi, AiryAiZero, AiryBi, AiryBiZero, AngerJ, BesselI, BesselJ, BesselJZero, BesselK, BesselY, BesselYZero, HankelH1, HankelH2, KelvinBei, KelvinBer, KelvinKei, KelvinKer, StruveH, StruveL, WeberE, Zeta.

And some orthogonol polynomials:
* LegendreP, JacobiP, SphericalHarmonicY, GegenbauerC, Chebyshev polynomials, Hermite polynomials, Laguerre polynomials, ZernikeR

Refactored `_MPMathFunction` to work on multiple arguments and also do symbolic handling of exact, non-number expressions.