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

All tests passed.
I see this logic duplicated all over the place. What do you think of updating `build_filter_params` to detect whether the input is a `dict`?