Fix typo. Thanks to Mark H. Weaver for the catch.

* module/srfi/srfi-41.scm (stream-append): Fix typo.
Simplify stream? so that the promise doesn't need forcing.

* module/srfi/srfi-41.scm: The major change here is that instead of
  using (srfi srfi-45) directly, we use an independent promise type,
  so that anything that's that promise type are going to be streams.
  Currently, we use copy-and-paste to create this independent type,
  just as in the reference implementation; it's unpleasant, but we
  hope to find a better way soon.
  (stream?): Define as stream-promise?.
  (stream-null): Use stream-eager rather than stream-delay. I don't
  see why the reference implementation chose to use delay there.
  (stream-unfolds): Now that stream? doesn't prematurely force the
  stream, it's possible to use stream-append to join up the streams.