cbson: ensure we decode valid UTF-8.

For keys, if UTF-8 decode fails (which it should never), we just convert
it to a byte string.