only unlisten to subscription events upon successful `unsubscribe()`
only unlisten to subscription events upon successful `unsubscribe()`

This change primarily addresses the an issue of unlistening to
correlation id/event names that may have failed when the underlying
`unsubscribe()` call is made.  Basically, unlistening of correlation
id/event names happens after the underlying `unsubscribe()` call is
successful.

The logic has also been simplified for the sake of some additional O(N)
performance.

fyquah95/blpapi-http,flojdek/blpapi-http,fyquah95/blpapi-http,flojdek/blpapi-http,flojdek/blpapi-http,bloomberg/blpapi-http,flojdek/blpapi-http,flojdek/blpapi-http,fyquah95/blpapi-http,bloomberg/blpapi-http,bloomberg/blpapi-http