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'
            })
```
An additional option, which I'm not sure I like, would be that if a resource_map is not present, use the API object instance to grab the resource for the model. When a Resource is registered to an API object, the resource gets stored in a ``_by_model`` dictionary.

This is a little broken though, because a user may want more than one resource per model type.