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"
don't ignore lint errors
move puppet-lint config back to Rakefile

You can't set 'ignore_paths' in .puppet-lint.rc and having config in two places
is confusing.
Rakefile: use Puppet Approved puppet-lint config
Merge pull request #522 from 3flex/puppet-lint

Update puppet-lint config
Merge pull request #521 from 3flex/remove-lint-ignores

don't ignore lint errors
travis: enable container-based builds

Jobs running on container-based infrastructure:
1. start up faster
2. allow the use of caches for public repositories
3. disallow the use of sudo, setuid and setgid executables

http://docs.travis-ci.com/user/workers/container-based-infrastructure/
Merge pull request #524 from 3flex/container-builds-on-travis

travis: enable container-based builds
Notify the service after purging configuration files
Merge pull request #525 from radford/notify-on-purge

Notify the service after purging configuration files
metadata: add operatingsystem_support

Improves search on the Forge, also gives us a higher Quality Score on the module.
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’