refining cacheSolve, to allow passing of parameters to solve(), included that in the test code