Add 'listen' support for puppet agent

Conflicts:

	manifests/init.pp
	templates/puppet.conf.erb
Actually use the puppet::server::port if it is configured
Added a helper function to manage subpaths in modulepaths.
Allow using additional subfolders beneath your modules folder.
client_package is properly configurable