Add operators to create Observables from BroadcastReceiver

wraps BroadcastReceiver with Observable. Can be used with gloabl broadcasts and with local (using LocalBroadcastManager)
life-cycle management lies on the user. He/she must unsubscribe from observable (as with unregisterReceiver) to prevent context leak.

About unregistering in main thread you are right. 
Just looked at the sources of unregisterReceiver. Probably there is no reason to unsubscribe in main thread.