dev/core#2057 Remove extraneous activity contact queries on activity update
This changes it so that instead of doing either
1) if passing in an array of activity contacts for a given type then attempt
to delete existing contacts, regardless of whether they are the same as the
existing ones, create new ones
OR
2) if the param is an int then do a lookup, per record type, and update if needed to
- Do one query to find existing records of types to be deleted (for all 3 record types).
Only delete activity contact records that are not to be kept and
don't alter those records that should be retained