Tried to return uncertainty from the first_guess method in the prior. Only issue is that if we have a sparse inverse covariance matrix, one would need to invert it and fish out the main diagonal elements, which at the moment, I will not implement
I have added an option to the imageGP class so that the first guess returns both the MAP estimate (as before), as well as the uncertainty. The uncertainty is basically an independent estimate for each parameter where we have observations. For where we don't have observations, it is arbitrarily set to the maximum uncertainty in for that parameter, as otherwise, it would be set to 0 or to some weird arbitrary parameter that might need to be scaled etc.
The machinery for doing several "first guess" runs, where uncertainty is used in weighting these different starting points (x0). The uncertainties are also important, as wel can combine these to provide some preconditioner ($\mathbf{B}^{-1}$). In this commit, the actual changes are commented out, as the codes needs to deal with a number of different issues in order to work as advertised (namely, the different descriptions of prior uncertainty etc). I think that we just need to create a sensible sparse representation of the prior if this is not provided in the Prior.__init__ method, which simplifies things inmenslely.