Implement makeCacheMatrix and cacheSolve

Full implementation with comments