Wrap API parameters so apipie-bindings validation for required params passes

Should now exactly match the APIv2 documentation
modulesync: use puppet-lint.rc to configure puppet-lint outside of rake
Workaround rodjek/puppet-lint#327
Convert to metadata.json
Add docs to all classes/defines
Fixes #6015: Enable EPEL7 GPG checking

Since EPEL7 is now out of beta, we can enable GPG checking.
updating gpgkey url to point to new per-repo key
refs #7234 - install foreman-release-scl on EL clones

Foreman-specific SCL release package will replace per-distro SCL configuration
as it's more complex and more up to date.

configure_*_repo logic moved into parameter defaults which also allows users to
override the logic (e.g. on RHEL self-support, it can now be enabled).

Closes GH-236.
Bypass log processor changes when calculating failed status

This works around https://tickets.puppetlabs.com/browse/PUP-3403

Closes GH-237
refs #7227 - configure Brightbox Ruby NG PPA for Ubuntu 12.04 (precise)
refs #7227 - install passenger-common1.9.1 on Ubuntu 12.04

Add passenger_ruby_package parameter to control additional package resource
for installing the Passenger libs for the version of Ruby that will be used
to run Foreman.  Begins to replace passenger_scl, which will be superseded by
this param and passenger_ruby.
refs #7227 - set PassengerRuby to ruby1.9.1 on Ubuntu 12.04

Explicitly set PassengerRuby from the passenger_ruby parameter and set it to
ruby1.9.1 on Ubuntu 12.04 to ensure Passenger runs under the intended version
if the system-wide default is changed.

Deprecates the passenger_scl parameter, which has been split into the
passenger_ruby and passenger_ruby_package parameters for more control.

Clarify the support policy which has been followed anyway, and begin to
document how to use N-1 support.
Directory recursion is problematic in large environments
refs #7970 - don't let Ruby alternative switch to 1.9 on Ubuntu 12.04

By setting the Ruby alternative to manual mode, installation of the Brightbox
version of Ruby won't automatically change the symlinks to point at ruby1.9.1.

This ensures other applications, including hammer, work as 1.8's the expected
default version.
Refactor Sssd facts to gain performance and use a util library