Prevent ConcurrentModificationExceptions

Use sets backed by ConcurrentHashMaps instead of HashSets to prevent
concurrent exceptions if listeners try to remove themselves in callbacks
while iterating over the listeners.

Bug:16325026
Change-Id: I5089eac83154f8d71b759a891c0fbf3d3a9a4e6a
diff --git a/src/com/android/telecomm/PhoneAccountRegistrar.java b/src/com/android/telecomm/PhoneAccountRegistrar.java
index 98dcdf3..71eb95b 100644
--- a/src/com/android/telecomm/PhoneAccountRegistrar.java
+++ b/src/com/android/telecomm/PhoneAccountRegistrar.java
@@ -288,7 +288,9 @@
     }
 
     public void removeListener(Listener l) {
-        mListeners.remove(l);
+        if (l != null) {
+            mListeners.remove(l);
+        }
     }
 
     private void fireAccountsChanged() {