Add executable option to all SCM modules

I did each SCM module in a separate commit. If we don't want to take this entire PR, we could break it up into separate ones and take only git or git&svn ...

A question about module_common and imports. I think that none of these modules should `import os` and should rely on module_common for `os`? OTOH, the seemingly unused tempfile import `import tempfile`; can we remove this in all the SCM modules or is there a reason that it is there (and should be in all of these modules?).