Added code to create the special cached Matrix object as required by programming assignment 2