Event origins

ok, the way it is now:

when the user first connects, the origin of events from initial sync is still `remote`. but if you then refresh the page, then the origin is now `local`. i couldn't think of a way to write tests for this, but you can try it out using the starter-kit. this resolves #457