Use coverage and nose instead of unittest2
Using absolute imports is the way to go, since python3 does not support the old style of importing.
Retrieving urlencode from six to support both python 2 and 3

Conflicts:
	setup.py
Use json_encode/decode wrappers for python3 treats byte and unicode strings differently

References:

 * https://github.com/tornadoweb/tornado/blob/master/tornado/escape.py#L80
 * https://github.com/tornadoweb/tornado/blob/master/tornado/escape.py#L238
Assert the presence of each parameter separately

Instead of all of them in some specific order
Support Tornado 4.0
Add tox to the mix
Let travis build all supported python versions