Replicate event listener changes

Track event listener changes that occur after initialization and include them in the replication state. Deconstruct listener functions synthesized at runtime into JSON-serializable objects as with `branch/replicate-methods`.

@eric79, can you review?

When I first saw this function name, I expected it to return a boolean like `hasOwn`, but for more than one object (?), since I thought it was the plural form of `has`.  Maybe `acquireOwn` or 'obtainOwn' would be clearer?