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.
I think that this method should look like the other cases where by-reference and by-name are both supported. For example:

```python
class StubMethod(Stub):
    def __init__(self, obj, attr=None):
```

Which would imply:

```python
class StubUnboundMethod(Stub):
    def __init__(self, obj, attr=None):
        super(StubUnboundMethod, self).__init__(obj, attr)
```