Skip tests that depend on system deps (hg|bzr|svn|..) that are missing.

This change adds a decorator for tests the specify their system deps so they may be skipped if a dep is not found.