Make sure that all nodes always have the correct repos defined

This is a SUSE-only change.
Use --non-interactive with zypper commands
Move duplicated code to a library
Pass --refresh to "zypper addrepo"
Merge pull request #255 from vuntz/enforce-repos

Make sure that all nodes always have the correct repos defined