Add method dispatch test.  The old approach fails this test.

The previous method of setting `self.obj` in `__get__` is not reentrant, and
should not be used in multi-threaded applications.  Moreover, this approach
can fail in a single thread too.  This is what the new test tests.
Also use 'self' to infer class method