code and tests for makeCacheMatrix

This function creates a special "matrix" object that can cache its inverse.  This is only a cacheing implementation.  It does not attempt to manipulate the matrix at all.  See example below where the "matrix" and its inverses are used as strings.

Use of the matrix with cache instance

```R
m = makeCacheMatrix()
# Set the matrix data as "perigee", returns NULL
checkEquals(m$set("perigee"), NULL)
# Check "perigee" is in the matrix data
checkEquals(m$get(), "perigee")

# Set the matrix inverse as "quaternion", returns NULL
checkEquals(m$setinverse("quaternion"), "quaternion")
# Check "quaternion" is in the matrix data
checkEquals(m$getinverse(), "quaternion")
```