Cheddar/gen basals

@kentquirk @jebeck 

These are the changes required to make it so that you can process a carelink CSV file that has already been downloaded via the uploader and push it up to Tidepool.  I've run it on 3 sets of user data and aside from weird tideline artifacts, it all seems to be fine.

The tideline artifacts that I know I'm running into are

1. Tideline erroneously throws away events that have a `time` and `timezoneOffset` but no `deviceTime`.
2. Tideline is joining wizards and boluses using the `joinKey` parameter instead of the `bolus` parameter