Hide the GenericForeignKey compatibility code in its own module

So I can stop looking at it. When we don't need to support Django 1.5
any more, we can remove this file entirely.