TakeUntil & NotificationLite

A rewrite of TakeUntil that doesn't leak NotificationLite.COMPLETE outside of itself. It causes problems to leak the sentinels as other operators also using NotificationLite get confused.
Remove unnecessary code
OnSubscribe: DelaySubscribe -> UnsafeSubscribe

This could cause an unwanted unsubscribe to be propagate because of the `SafeSubscriber`
Formatting
TestSubscriber.assertNoErrors
TrampolineScheduler Cleanup

Remove the null check and lazy creation, build the queue in the ThreadLocal. Fix bugs about "work in progress".
Merge pull request #1380 from benjchristensen/fixes

Variety of Fixes