Separates correlation model from distance calculation

This PR separates the correlation model from the distance calculation in the JB2009 correlation model. This serves several purposes:

i) Permits the ability to define correlation coefficients for non-square matrices. This is needed for application to conditional simulation as it is necessary to define the correlation between two different sets of locations. 

ii) Makes new correlation models of the exponential form  easier to implement as they only need subclass the JB2009 model and modify the coefficients of the exponential model.
If _get_correlation_model is meant to be called in client code, it should not be private, perhaps?