Matrix inverse calculation, cache, and tests

Matrix inverse caching completion

```
> source('cachematrix.R')
> x = matrix(c(1,2,3,4), nrow=2, ncol=2)
> m = makeCacheMatrix(x)
> print(m$getinverse())
NULL
> print(cacheSolve(m))
     [,1] [,2]
[1,]   -2  1.5
[2,]    1 -0.5
> print(m$getinverse())
     [,1] [,2]
[1,]   -2  1.5
[2,]    1 -0.5
> print(x %*% m$getinverse())
     [,1] [,2]
[1,]    1    0
[2,]    0    1
```