Add Gentoo support

Also, improve the package installation
Move all package installation related operations to package.pp
Improve the condition on where to install the puppet package on master
It is based if the puppet package name is different in agent and master, and if the
specific node is a master ($puppet::server::master = true variable)