CHEF-4248: expose scm timeout attribute

Add timeout to scm resource. Extend Git and Subversion providers to accept timeout attribute and pass to ShellOut or Command, respectively.