FIX pickling ufuncs defined in nested modules

This is a fix for the following problem with ufuncs that are not defined in a top level module:

```
>>> from scipy.special import expit
>>> import pickle
>>> pickle.loads(pickle.dumps(expit))
Traceback (most recent call last):
  File "<ipython-input-4-c8a97e87e418>", line 1, in <module>
    pickle.loads(pickle.dumps(expit))
  File "/usr/lib/python2.7/pickle.py", line 1382, in loads
    return Unpickler(file).load()
  File "/usr/lib/python2.7/pickle.py", line 858, in load
    dispatch[key](self)
  File "/usr/lib/python2.7/pickle.py", line 1133, in load_reduce
    value = func(*args)
  File "/volatile/ogrisel/envs/py27/local/lib/python2.7/site-packages/numpy/core/__init__.py", line 56, in _ufunc_reconstruct
    return getattr(mod, name)
AttributeError: 'module' object has no attribute 'expit'
```

Unfortunately I don't know how to write a test in numpy as all its ufuncs are importable from the namespace of the top level `numpy` package as far as I know.