Update Gather.pm

First part for issue #135: optimize the calls made, and add a optional argument to the is_redhat, is_alt, ... calls. They will get an argument when being called inside Service.pm -> get(), so as to avoid multiple calls to get_operating_system()
Update Service.pm

Second part for issue #135
Merge remote-tracking branch 'liedekef/patch-6' into 0.42
Merge remote-tracking branch 'liedekef/patch-7' into 0.42