Google sync fixes and inactive contact handling

I've made a number of updates to the Google contact sync:

- When hide a contact in MPDX or otherwise set from active to inactive, then the Google contact sync will no longer sync that contact, but to let you know it will tag it in an "Inactive" group. That way you can go back and delete it later if you want (this is documented to the user). @twinge, should the "Inactive" label be internationalized (right now it's just a constant)? Does the `_('string to internationalize')` work in a sidekiq job?
- It will wait for any running imports before starting the sync to reduce the chance of unexpected side-effects especially for the Google import (since it's queued when a contact is saved, the imports will queue the sync)
- Removed title, middle name and suffix from the sync
- Fix a few bugs and handled error conditions

At this point, pending any corrections or internationalizing the "Inactive" label, I'd say we could go ahead and deploy this to owners so that us as devs can use it (I'd encourage an export from Google contacts and MPDX just in case). The in a few days we could release it to testers. Does that sound like a good plan?