Python3 unbound methods

This pull request fixes a small bug in StubNew that caused it to pass ``__init__`` args to ``__new__``. In python2 these additional args were ignored but python3 throws and exception.

It also adds support for stubbing unbound methods by attribute in python3. This style of stubbing was already available but wasn't properly detected in python3. To make all tests pass in both python 2 and 3 all unbound method stubs were converted to stub by attribute from stub by reference.
This seems reasonable. I've pushed a modified commit that takes this approach.