hmac: default to SHA-256; handle empty string as signature_scheme.

See https://github.com/ipython/ipython/commit/0f43d86ac8f05f8362e7979729c93822d721f065

That commit makes SHA-256 the default HMAC hash function (good), and
sometimes sets signature scheme to an empty string to indicate that
no pefered signature scheme is set (less good).