use libmsg::Secret to wrap tokens and keys so we do not need seperate functions to handle them
Secret is now a class with some more methods
fix dereferencing the end iterator in case we get an empty result array
fork, renaming and adaptation for discovergy