This file has two functions, makeCacheMatrix and cacheSolve. The first
function creates a list of functions - set, get, setinv and getinv to create
the matrix, return the matrix, create or return the inverse. cacheSolve takes
the matrix created with makeCacheMatrix and checks to see if the inverse has
been cached. If it has not it creates an inverse and returns it. If it is already
stored in cache it returns it