Added Operator switchIfEmpty

Like defaultIfEmpty but subscribes to and emits the items in an Observable if the source is empty.

Fixes #1878 
Great, thank you very much for the help. I think I am starting to understand back pressure at least a little better now ;)