Implemented inverse caching matrix wrapper

This is only a partial implementation of the inverse
caching matrix since the caching solver has not yet
been implemented.
Implemented inverse computation and caching

The inverse caching matrix utility now supports
computing an inverse, and caching it.
Added further documentation

More documentation has been added including
examples of usage.