spec: cleanup

* Removed some tests that no longer apply and/or are redundant
* Only set OS facts when testing OS-specific behaviors. This simplifies the
  facts that must be set in the specs and saves running the same tests
  several times when the results wouldn't differ by OS anyway.
package: don't install upstream package on Amazon Linux

Upstream doesn't provide a build of Nginx for Amazon Linux.
package: package resource is titled "nginx"
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."
Merge pull request #519 from 3flex/refactor-packages

Clean up package classes, allow installing mainline upstream packages