changes job definition, so all sync related config is nested inside :sync
moves :source_tree_path in JobDefinition to :sync
passes sync configuration to copy_source_tree in Listener
passes exclude to Syncer constructor. removes exclude=
refactors Originator#push_source_code
supports ssh as rsync transport