Update kriging.py

Rewrote semivariogram functions to remove for-loops and align more with literature
Added checks for NaN values in the matrix K and the vector k