Fixed ConcurrencyException in ShadowLocationListener

When calling removeUpdates(LocationListener), the listener will be added to the removedLocationListeners list instead of actually removing the corresponding ListenerRegistration.
This makes sure that a ListenerRegistration is not removed inside a loop which iterates listeners.
Instead the cleanupRemovedLocationListeners() method now handles the actual removal of location listeners.
Merge pull request #1182 from xorrizon/fixShadowLocationManagerConcurrencyException

Fixed ConcurrencyException in ShadowLocationListener