key service can now deal with missing 'kid' fields in JWKs

closes #639
reformat / reorder
added configurable support for different token presentation methods in user info fetcher, closes #632
added json member type checking for json utils, won't die if a string is found where an array was expected

closes #637