Caching the Inverse of a Matrix

-   Implement `makeCacheMatrix()` that creates a new `CacheMatrix`
    capable of caching its own inverse.
-   Implement `cacheSolve()` that returns the inverse of a `CacheMatrix`
    either by returning the inverse from the cache if it's available, or
    by calculating the inverse using the `solve()` function.
-   Basic documentation and example included in the source code.