Add a GenericForeignKeyField

This is a WIP first pass at adding a GenericForeignKeyField. Currently just the dehydrate method is implemented, but it works!

Feedback appreciated.

Here's what the implementation of a Resource using this field looks like:
```
class ItemResource(ModelResource):
    class Meta(ModelResource.Meta):
        model = Item

    class Fields:
        content_object = GenericForeignKeyField(
            attribute='object',
            resource_cls={
                'Bookmark': 'api.views.BookmarkResource'
            })
```
And lastly, since every time we are running dehydrate we could be grabbing a different resource class, I would prefer ``setup_resource`` be a ``fetch_resource``method that returns the instantiated class, rather than setting a ``self.resource_cls`` method. I don't like class instances that update their attributes every time a new request is made.