Supported protocols for `epm project:checkout` should be expendable

Description

Instead of having two hard-coded methods to checkout a project from a remote server, this should be configurable.

Use-Cases

  • The job accepts different types of project urls
  • The url protocol (http://, https://, ssh://, sftp://, webdav://, fbs:// ...) determines which checkout method is used
  • The handler for each protocol can be configured in the $cfg
  • The handler gets called with the project url and the target directory if set
  • The handler returns the project name and the target directory

Todo

  • Wiki updated