Openid connect

This is the motherload - I have built off the work done by @jsacksick and @bojanz and placed the code in its own directory, for organizational purposes.

I've added a lot more support in the `Server` class for these changes, and I've added a slew of additional tests.

Please let me know what you think.  It would be great to get this massive beast merged