Add type safety

Add type safety to the Braintree.addListener() and Braintree.removeListener() calls. In addition, add some logging of the call to add/remove causes a no-op