Handle unicode in url parameters

This commit enables the TransactionAPI to handle unicode characters in the url parameters.

This re-ordered the parameters slightly so I have updated the tests the make sure that URL comparisons do not rely on the url parameter ordering.