Add a Subject type alias
Support limiting of replay subjects
Use an algebraic data type for withScheduler, not a Bool
Add 'first' operator