cachematrix.R: complete

Tested to work properly
Documented with comments

1 TODO: we could optimize slighty by checking in set if new matrix is identical to old, in which case, no need to invalidate cache...