Python 3 support

This is dependent on my other PR, https://github.com/olivierverdier/dispatch/pull/3

This brings your code up to support Python 3. I had to break apart the saferef tests a lot better to diagnose the issues with saferef, but that's all sorted now (use `__self__` instead of `im_class`, and `__func__` instead of `im_func`). The commits will show the history, and the diffs will be a bit less dramatic if you've got PR #3 merged.