let _ykusb_open_device() error on several keys present

if more than one YubiKey is present _ykusb_open_device()
will return YK_EMORETHANONE.
rework the osx implementation to look at all devices

avoids the wacky api of key and value matching
drop c++ style comments
get rid of warning by casting
fixup EMORETHANONE for windows
Merge branch 'devel/only_one_key'