AddOnce and AddListener both only add uniquely

AddOnce and AddListener both add uniquely.  Adding some tests for
coverage.