package: install "nginx" package when OS isn't recognized

This will provide broader OS compatibility without having to manually add
support for specific OSes.
package: refactor
package: removed a warning for Fedora 18 and below

Those versions no longer supported by the Fedora Project.
package: Differentiate between upstream's RedHat and CentOS packages

Even if they're currently identical they may diverge in future.
package: only set `manage_repo => true` when appropriate

i.e. upstream provides a package for it
package: fail on Solaris if `$package_name` undef

The comments say this must be set on that OS so the failure makes that
explicit.
package/redhat: don't ensure the yum repo file

The file wouldn't necessarily be at that location. According to Puppet it's installed in the first matching location:
* Custom directory specified by the ‘/etc/yum.conf’ reposdir property
* ‘/etc/yum/repos.d’
* ‘/etc/yum.repos.d’
* If none of these locations match, section will be created in ‘/etc/yum.conf’
package/debian: use more puppetlabs-apt features

* puppetlabs-apt does an APT update after every apt::source is added, so no
  need to do it again in this module.
* Use the 'required_packages' feature of apt::source instead of
  ensure_resources
package: mainline package support on redhat/debian

Closes #450
Closes #456
Closes #518
package/debian: install ca-certificates for passenger

Required per the Passenger install guide
debian/package: warn on incorrect package name w/ Passenger

According to Passenger docs:

"You should install nginx-extras even if you have already installed an Nginx package from the
official Debian/Ubuntu repository. This is because the Nginx binary that our packages supply
is compiled with the Passenger module."