Initial work on assignment.
Note there are some issues with this implementation.  If the cache is
modified outside of the cacheInverse method, it will not work correctly.
If it is called twice with different arguments for the solve function,
it will disregard the arguments in the second invocation and still
return the cached value computed with the original arguments.  However,
this is how the assignment indicated that we do it.