Allow ModelResource.fields to be either a dict or a list
Made some changes in preparation for relational resource fields

- Only non-relational field names are in Resource._fields
- Relation field names are stored in Resource._related_fields
- Added RelatedField and ToResourceField