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
`displayTime` is only set when reference is provided, no?  Otherwise it is the same as `time`?

I said `doesNotExist` because I was thinking that `displayTime` should only be set by the code here...