Proposal for notes

@cheddar -- thoughts?
I have some worries about the time field here.  Specifically, given a threaded discussion, if we use the time of creation of the event, then as replies happen in the thread, the time of the original message will not actually make it possible to find all of the replies in the thread.

We will instead require either (1) a pointer field from the parent note to all children or (2) to query the entire note stream and search for any messages that reference back to this parent.

Thinking about this and what the query pattern might end up being like, I think we need to actually store two timestamps.

1. `time` which is the exact same timestamp as whatever datum is being referenced (when a datum is being referenced) or otherwise, the point in time on the timeline when the note should be displayed.
2. `messageTime` which is the time that the note was created

This will mean that `time` correctly colocates all of the messages in a threaded discussion and then `messageTime` would be used to understand exactly when the message was created.