Cheddar/more sane settings 26

@kentquirk please look this over, would like to get it out early Friday if possible.

This is implementing various changes that I spoke about with Howard, Jana and some things that I thought were important to fix once I noticed how the changes were affecting the data.  I generally documented what I was doing in the commit messages, so will copy them here:

> Do not fabricate scheduled basals 
>
> Also, do not update the schedule based on basals that we have seen.
>
> This change implements both of these things, but there is still a case where we need to fabricate scheduled basals and that is when a temp percent is active.  This change does not implement that yet, but it has adjusted the tests (specifically withoutSettingsChanges) to expect that.  So what's left is to make that test pass.

and

> Add an annotation for basals generated under a carelink temp

and

> Manage timestamp on settings properly …
>
> We maintain the earliest timestamp seen in the data for a given upload so that we can set that on the settings object when we are done processing the data for that upload.