Adding functions for caching and computing inverse of a matrix