Remove non pypi stuff from requirements.txt
Big commit. Sorry.

- Use 'option' instead of 'options' in args to better match backend

- Gardening

- Move relationship_name() to backend

- Make read() use backend's new relationship_name()

- Assume Todo if args don't say otherwise

- Let update() assume a change to the primary descriptor of a model if JSON isn't passed in

- link() leverages the backend stuff
Fix up language for links