Fix MAJOR unicode issue with ejabberdctl via XMLRPC

Oh, wow. So, apparently, if I try to use unicode characters in roster item nicknames set via XMLRPC (such as ╯), they would get stored in mnesia as lists of unicode code points (such as [9583]), rather than lists of bytes (such as [226,149,175]), and that would seem to be fine... until ejabberd tries to read that roster item, at which point it starts throwing craaaazy errors, disconnects the user, throws more errors, etc. It basically breaks everything, especially when many users have the corrupted rosteritem and their clients try to automatically reconnect.

I found that ejabberdctl could handle those unicode characters fine from the command line, so I knew it wasn't a general issue with unicode and ejabberd. I tried to fix this in several places before I got it working with this patch. First, I tried specifying different encodings from the Python script making the XMLRPC call, but this didn't seem to help. Then, I dug into the mod_admin_extra and ejabberd_xmlrpc modules, but couldn't find a good path forward. I then figured out how to use the Erlang shell to test things more directly, and from there updated and then dug into the XMLRPC module itself (https://github.com/etnt/xmlrpc), and tried to patch the xmlrpc_encode:encode and xmlrpc_decode_decode methods to convert the unicode code points into bytes, but couldn't get it to work.

Eventually I turned back to ejabberd, and looked at how it was handling commands in general. This patch converts all unicode character points into lists of bytes that are sent as arguments to any ejabberdctl command, which should ensure this problem is relatively unlikely to happen again.

It would probably be better to fix this closer to mnesia, and to make sure that all the data that was both read from and written to the database was in the list of bytes format, but I don't feel like I know enough about ejabberd, mnesia, or Erlang to attempt this.

There's a bit more info at https://gist.github.com/lehrblogger/5668256 and a yet-to-be-answered mailing list post at http://lists.jabber.ru/pipermail/ejabberd/2013-May/008068.html. Thanks to @arcusfelis for his explanation about Erlang's unicode representations!

And, of course, (╯°□°）╯︵ ┻━┻