Refactor tests

Test are refactored to separate functionality and to enable reuse in users of the provider.
For compatibility with the LMS. Some of the tests here are also run on the LMS, basically checking that the LMS handlers do not messed up the OpenID Connect required values.

Having the requirement here means that if those tests pass here they are very likely to pass in the LMS as well.