completed assignment

Well, I say that. I mean, it works for now, but there's a good chance
that first time aint the charm ;)

But I live in hope. Here are a pair of functions that invert a matrix or
return the inverse from cache if it has already been calculated