Relational fields now take a many=True flag.

Refactor relational fields so that they take a `many=True` flag.

The current style:

    foo=ManyPrimaryKeyRelatedField()

Instead becomes:

    foo=PrimaryKeyRelatedField(many=True)

This is advantageous because:

* It simplifies the internal implementation of the relational fields.
* It makes it easier to define custom relational fields without having to create two classes.
* The documentation should be cleaner and more obvious without all the duplication.
* It just feels much nicer.
* Paves the way for resolving issues with serializers not having any one/many distinction (Eg see: #564)

**Note**: The existing `ManyPrimaryKeyRelatedField` style is retained for backward compatibility, but is intended to be removed at a later date.