Make transaction params utf-8 if unicode

This commit makes sure the transaction api can handle unicode characters
in the parameters.  It converts any unicode strings to byte strings.  I
have also update the tests so that the URL comparisons do not rely on
the order of the parameters within the URL and we test for unicode
characters in the _make_call method of the transaction API