my solution to Programming Assignment #2, inverse matrix cache