Add a GenerifForeignKeyField

This is a WIP first pass at adding a GenericForeignKeyField. Currently just the dehydrate method is implemented, but it works!

Feedback appreciated.