Check the string correctly

In this case which returns an empty string if the command was missing.

It returns the path to the command when it was found
Use smarter execute command

This way we can display the output of homebrew
Add colorfull logger
Don't run anything when it is already done
Raise an error when trying to install dnsmasq
Properly test the new checks