Faster spherical harmonics

Thanx @ChantalTax, @pv and @stefanv for helping with this. Here is a faster implementation of spherical harmonics. This should make the calculation of real spherical harmonics and complex spherical harmonics faster everywhere in dipy. 

Let me know what you think! This is now 100X faster. :D
This all looks awesome to me. My only comment is an English thing: I believe this should be simply `broadcast` 

http://www.oed.com/view/Entry/23508?redirectedFrom=broadcasted#eid13325489

Also - what exactly do you mean by "inputs will be broadcast against each other"? `theta` and `phi` will be made to conform if they can be broadcast to each other's shape?