Fixed #23346: Look up method impls on the real object, not resultclasses

<https://code.djangoproject.com/ticket/23346>

This makes the code easier to understand, in my opinion. I couldn't figure out why methods were being pulled off of resultclasses when the real object is available. This patch simplifies the situation and gets rid of the `__dispatch` table completely.

Co-Authored-By: Rocky Meza <rmeza@fusionbox.com>
Is the `klass` argument still useful now?