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.
You are right, I didn't really understand the purpose of the StubWrapper at all. I've reverted to a the previous test with a switch to account for differences in __repr__ implementation across python versions.