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.
Here's where we do need the basal we fabricated when simulating a resume. Note that there's no check for `deliveryType: 'temp'` here. This only happens with temp basals in MedT data, but in theory for a different make of pump it could happen whenever exiting a suspend event.