Switch API to taking []bytes

This patch does two related things.  First, it changes the API for
NewUid and NewKey to take []byte instead of string.  This keeps the API
consistently using []byte to pass binary data.  This means we no longer
need HexEncode and HexDecode for dealing with strings containing binary
data.

The second part of this patch removes ykhex entirely and replaces it
with encoding/hex from the standard library.

This fixes https://github.com/conformal/yubikey/issues/11