ENH Added Fisher's method and Stouffer's Z-score method

Closes #3092
@josef-pkt I'm not sure exactly what change you had in mind, but if the `weights` arg is `None`, and therefore treated as discrete uniform, then `Z = np.sum(weights * Zi) / ((np.sum(weights**2))**0.5)` is not the same as `np.mean(Zi)`.  It would be something like `np.sum(Zi) / np.sqrt(len(pvalues))` which is starting to be complicated to the point of 'losing overview' with two code paths.