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
Hmm...now I see what you did here. But given the way it's documented, I think this behavior ought to happen only if the submitted object doesn't have a displayTime.