* Be explicit with `unicode` functions at @jrwest's suggestion: we're converting from utf8 binaries to utf8 lists (or vice versa)
* Error messages from `check_permissions` are returned as binaries when accessing via protobuf, and utf8 strings (lists) cannot be sent as is. We should be able to keep the old message if we convert it to binary first via `unicode:characters_to_binary`, but seems simpler and sufficient to just return "Permission denied"