vpc module: add backward-compatible support for Python 3.3+

All tests passed.
I don't think that this is a good solution to the problem here (listing out all possible param orderings). Let's think about what we are trying to test: we want to ensure that certain parameters are present, and their order does not matter. Due to the dict randomization in Python 3 by default, we can't assume the order for tests if we use standard dictionaries.

One option would be to update the code to sort items before making the parameter list, another would be to use ordered data structures like `OrderedDict` in the tests to ensure the order of serialization. Unfortunately that means vendoring `OrderedDict` to support Python 2.6.

What do you think? Any ideas?