Use new rexi streaming APIs and finish non-interactive mode

This is a bit of work but rather than have people wondering about the two PRs I've collapsed into a single one.