Thenable chains and circles

As per discussions in #108, these commits:

- Remove the special case of self-fulfilling thenables, treating them as a one-cycle.
- Clarify that thenable *cycles* are encouraged to cause a `TypeError`, but that infinite thenable *chains* should recurse forever. This makes sense, because you can't detect infiniteness, so the only way to "detect" it would be to set an arbitrary limit and say "everything after 1000 is 'infinite'," which is bad.