Update manifests/params.pp

 - Moved package variables into params class
 - Refactored to use case statements
Updated manifests/init.pp

 - All customisable settings are now included as parameters
 - Added validations for certain variables
 - Use nginx::package::end anchor for nginx::config dependency
Updated manifests/config.pp

 - Now inherits nginx class where variables are overridden
 - Removed redundant class parameters
 - Local variables no longer fully scoped
updated manifests/package.pp

 - using ::osfamily instead of ::operatingsystem fact
updated manifests/service.pp

 - inherits nginx as that is where parameters are set
 - removed parameters as they were redundant
 - Local variables don't require scope
updated manifests/package/redhat.pp

 - moved packages to nginx::params class
 - using ensure_resource function from stdlib
updated manifests/package/suse.pp

 - moved $packages to the nginx::params class
 - utilise the ensure_packages function from stdlib
updated templates/conf.d/{nginx,proxy}.conf.erb

 - no need to use scope.lookupvar if the variables are available in the
   local scope