align the order of parameters for urlencode()

In Python 3.3, hash randomization is enabled by default. It causes the
iteration order of dicts and sets to be unpredictable and differ across
Python runs.

In the test case, the fixed expecting string will not match the test
result, it is relying on the dict order.

This change transforms the input dict to a sequence of two-element list,
with fixed order, and exchange the order of "limit" and "marker" for
expecting string.

Partial implement: blueprint py33-support

Change-Id: If9c25fb0d457b31034111e7e879f1f95a576a78f
Merge "align the order of parameters for urlencode()"