Add the notes data type to jellyfish

Notes is documented at

http://tidepool-org.github.io/data-model/v1/notes.html

This is slightly complex because notes needs to be able to generate an id for any other data type.  So, I started (first two commits) with a refactoring to redefine how id generation is defined.  The third commit is then the addition of the notes data type.

@kentquirk Pls give this a once over
My intention was that displayTime would be used by the rendering code, not enforced by the ingestion code. But what you're doing is OK if we change the docs to agree with it.