Reconstituting and regenerating `each`.

The `each` directive uses a call to `rewrite` to render the directive
body, so it must clear the directive list of its frame, because the
directive list is duplicated and passed to `rewrite`, the directive list
created by `descend` it is not visited by the invocation of `rewrite`
that visited the `each` directive itself.

Perhaps it is up to the directive handler to decide if the directives
should be visited by the current invocation of `rewrite`, since it is
only the `if` handler that relies on this behavior.

Or maybe `descend` duplicates behavior that could be had by simply
having `if` call `rewrite`.

See #60.
Merge branch `each` into `redux`.
Merge branch `redux` into `master`.