Convenience functions (+update of the check package to github)

Few Convenience functions for Matrix manipulation + their tests.
I have not changed the API (yet?).

I also updated the check package, that has migrated to github.
Should this also check for NaN? Not really sure...

Could you also do subslices of the data to avoid the explicit i*stride + j? (subData := mat.Data[i*stride:] then subData[j]). The explicit computation is slow.