ENH: scipy.special, Implemented Ellipsoidal harmonic function: the first kind, the second kind and normalization constant 

This is an attempt to implement ellipsoidal harmonic functionality. 
The functions implemented are
ellip_harm, ellip_harm_2, ellip_normal
The sources referred to are:
http://www.geology.osu.edu/~jekeli.1/OSUReports/reports/report_499.pdf
http://arxiv.org/abs/1204.0267
The definition should be changed so that it can evaluate several values at once:
```
# np.vectorize does not work on Cython functions on Numpy < 1.8, so a wrapper is needed
def _ellip_harm_2_vec(h2, k2, n, p, s):
    return _ellipsoid(h2, k2, n, p, s)
_ellip_harm_2_vec = np.vectorize(_ellip_harm_2_vec, otypes='d')

def ellip_harm_2(h2, k2, n, p, s):
   ...
   with _ellip_lock:
       return _ellip_harm_2_vec(h2, k2, n, p, s)
```
The issue is that `_ellipsoid` is not an ufunc, and evaluates only one value at a time, so it needs to be wrapped.