safehasattr: pass attribute name as string instead of bytes
This is a step toward replacing `util.safehasattr` usage with plain `hasattr`.
The builtin function behave poorly in Python2 but this was fixed in Python3.
These change are done one by one as they tend to have a small odd to trigger
puzzling breackage.
= Mercurial XXX =
== New Features ==
== Default Format Change ==
These changes affect newly created repositories (or new clones) done with
Mercurial XXX.
== New Experimental Features ==
== Bug Fixes ==
== Backwards Compatibility Changes ==
== Internal API Changes ==
== Miscellaneous ==