schema for tideline data

@nicolashery @cheddar 

Just want to open a discussion about this schema. Read the doc on the wiki [here](https://github.com/tidepool-org/tideline/wiki/Schema).

What would make me happiest (and most confident that we won't have any more data regressions like [this one](https://github.com/tidepool-org/blip/pull/73) and various others we had in confusion about data formats) would be if we could integrate schema validation against both sample Carelink and Diasend data as part of blip's test suite. Ideally, this would actually involve pulling in fresh data from Carelink and Diasend each time the test is run (which means it would have to be local, I assume) - this way we might actually find out about some of our unknown unknowns as they happen (that is, as our sample sources generate new/strange patterns of data we haven't seen before). The schema is fairly strict, so it should complain loudly when things fail.

On the opposite end of the spectrum, the schema could just be a tool for me (and others working closely with tideline) to whip out when things start to go wrong. I still think it'd be useful that way, but I'd prefer for it to play a larger role in things.

Thoughts?