Merge branch 'stable-2.16' * stable-2.16: Replace DestinationFactory with Guice generated Factory and assisted injection Revert "DestinationFactory: remove @Singleton annotation" DestinationFactory: remove @Singleton annotation Updated docs to clarify that SSH config is not optional Introduce DynamicSet of ReplicationStateListener Remove unneeded RemoteSiteUser.Factory Make SecureCredentialsProvider public for reuse Change-Id: I52bc2580bef89d40f9b02749550cdbbd6e7a26dc