completed and documented makeCacheMatrix and cacheSolve functions