put *subscription instead of subscription in the kol.DB.subscriptions map. made all subscribers throughout the stack return errors, and automatically unsubscribe them on error or panic. added an UnsubscribeListener concept that can be provided when subscribing, that will get called when an automatic unsubscription occurs. refactored the emit call to let the subscriptions handle more of the work on their own. made it simple to add an unsubscribe listener to a subscription pack.