BlockingObservable Refactor

No longer extends from Observable. If someone chooses to use BlockingObservable the intent is to leave the Observable so it shouldn't show the non-blocking operators.
Remove duplicate static methods, similar to how done on Observable in earlier commit.