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()