Node references

Allow properties to directly reference nodes. Previously, properties couldn't contain a node reference in a way that was meaningful outside of `model/javascript` or that would survive replication.

This is a predecessor to `branch/collection-events`, which needs to send a node reference in `node.children.added` and `node.children.removed`.

@eric79, please review. @allisoncorey, @scottnc27603, @jessmartin, you also may be interested.