get_prefetch_queryset, get pk val, rather than named attr

fixes #255 by using

    lambda obj: obj._get_pk_val()

over 

    attrgetter(instance._meta.pk.name)

which doesn't do the right thing on child classes. includes unit tests for the change.