a round of CareLink fixes (suspend/resumes, basals, settings)

@kentquirk @jh-bate This is ready for review, including tests. I'm going to start commenting in line.
is the order of items in the cachedObjects array important? If so, you may want to sort the key list extracted from unique.