R programming assignment 2 - caching the inverse of a matrix