changing endSoon to end and fixing docs

- end now cancels the timer and pushes null immediately
- this causes the stream to end right then and there and prevents future values from being pushed due to the timeout firing