Fixed the complicated bug involving EntityChangeSet, Recompute, refresh. Fixed the fact that internalContactCount should be considered when determine whether a address is shared by something else. Fixed the incorrect InternalContactCount that is cloned from old Address, thus should re-update.
Refactor: manager to focus on its own entities
implement update() instead to ensure the routines are within db transaction
Fix: ExternalCount need to be refreshed too as it is carrying the cloned value
Fix: changeSet needs to be looped in case they are other non-important fields that are dirty
Unused use statement
Default is subset of Address, thus duplication removed
Redo the normalizing of the contactables (address, email, phone) as the old implementation contains subtle problems
Added filters in AddressAdmin