Serializer redesign

Currently just sketching things out.

Major things still to address.

- [ ] Add relational fields back in.
- [ ] Add remaining standard fields.
- [ ] Add save behaviour for model serializers.
- [ ] Deal with erroring properly on nested saves & deal with docs regarding how to deal with them.
- [ ] Form rendering.
- [ ] Simplify hyperlinked options.
- [ ] Design away some of the field determination ickyness in hyperlinked & model serializers.

Closes #1802.