Simplify stream-unfolds further, based on Mark H. Weaver's feedback.

* module/srfi/srfi-41.scm (stream-unfolds): Don't use a promise to
  hold the result of the generator call. Originally I did that to
  avoid calling the generator more times than necessary, but Mark
  demonstrated that this code simplification doesn't affect that.
Implement more feedback from Mark H. Weaver.

* module/srfi/srfi-41.scm (must, must-not, must-every): Implement
  these as direct macros, and without using negate.
Implement yet more feedback from Mark H. Weaver.

* module/srfi/srfi-41.scm (stream-car, stream-cdr): Enable a fast
  path where if the type is what we expect, we skip additional type
  checks.