Added caching for matrix inversion

Example:

> mc1 <- makeCacheMatrix(m1)
> cacheSolve(mc1)
     [,1] [,2]
[1,]   -2  1.5
[2,]    1 -0.5
> cacheSolve(mc1)
getting cached data
     [,1] [,2]
[1,]   -2  1.5
[2,]    1 -0.5