Implements two functions: makeCacheMatrix and cacheSolve

makeCacheMatrix: This function creates a special "matrix" object that
can cache its inverse.

cacheSolve: This function computes the inverse of the special "matrix"
returned by makeCacheMatrix above. If the inverse has already been
calculated (and the matrix has not changed), then the cachesolve should
retrieve the inverse from the cache.