phabricator: convert conduit response JSON unicode to bytes inside callconduit

Authored by Kwan.

Description

phabricator: convert conduit response JSON unicode to bytes inside callconduit

Previously the byte conversion was happening piecemeal in callers, and in the
case of createdifferentialrevision not at all, leading to UnicodeEncodeErrors
when trying to phabsend a commit with a description containing characters not
representable in ascii. (issue6040)

Remove all the scattered encoding.unitolocal calls and perform it once, inside
callconduit, on the entire response dict recursively before returning it, in
keeping with the strategy of converting at the earliest opportunity. Convert all
keys used on returned object to bytes.

Modify the phabsend tests to test this by adding a € to the commit message of
alpha.

Differential Revision: https://phab.mercurial-scm.org/D6044