dnf.util.urlopen(): do not create unicode streams for Py3 and bytes for Py2 by default.

This discrepancy causes unexpected unicode vs bytes problems when decoding GPG
keys.
crypto: fixup procgpgkey() to work with Py3 bytes.