This splits all of the replication code out of the core server
and moves it into a standard plugin. A new listener API is used
inside of the core server to notify interested plugins of any Git
reference changes, which the replication code can hook into to
schedule its events.
Change-Id: I77ee4440a009c2ce1c62fb6a445c7e3c912245f9