Add note about lifting at initialization time.
Fix concat. Ensure dispose in concat, switch, and join

Recent changes to flatMap made concat behave identically to merge. This change restores the timeshifting behavior of concat.

concat, switch, and join now properly dispose their substreams.

Abstracted more test helpers and consolidated them in test/helper/stream-helper