RFC: more BigFloat special functions

This patch adds support for a bunch more special functions in MPFR: `expm1`, `gamma`, `lgamma`, `digamma`, `erf`, `erfc`, `zeta`, `log1p`, and `airyai`, mirroring the corresponding functions in `Base`.

It also adds new functions `bigfloat_pi`, `bigfloat_eulergamma`, and `bigfloat_catalan`, exposing the MPFR functions to compute those mathematical constants to arbitrary precision.

It also removes unnecessary NaN checks from trig functions defined over the whole real line.  The only NaN checks should be for the inverse trigonometric functions, and those functions should not throw a `DomainError` if their argument was itself NaN.

Also, `exp10` was only defined for `BigFloat`, but there is no reason not to define this for regular floating-point values as well (mirroring `log10`), so I added this to `math.jl`.

cc: @andrioni