Add support to ansible-pull to for other source repositories

See issue #3372.  This makes parameters across source_control modules consistent for ansible-pull usage and updates ansible-pull to support other modules for checking out from other 'source repositories'.  The only requirement is that the module support the parameters `name`, `dest`, and `version`.