WIP: PIESNO framework for estimating the underlying std of the gaussian distribution

This is a reimplementation of PIESNO, a framework used to identify noise only pixels and find the std of gaussian distributed signals from magnitude MRI data. It can be used on both dMRI and fMRI, since it needs to have multiple representations of the same volume at different realisations of noise.

I also planned to use it in the example of the SNR in the corpus callosum, but the method requires the number of phase array coils of the mr scanner to find proper bounds for the noise estimation. Does anyone know the specifics for the stanford dataset? I can't find anything related to that in the header either.

It can also return the location of the found noisy pixels (as a mask), but that is currently simply discarded, but can be easily returned. 

This method is also useful for normalisation according to the level of the noise. If we really wanted ot be fancy, we could rework the smoothing parameters in the hardi and dti models, since it should depend on the strength of the noise but so far it's set as a constant.

It can also be used in stabilisation frameworks that aim to transform the rician or chi-distributed signal into gaussian distributed signals, but that's for a later PR ;)