Avoid duplicate package errors by virtualising them

If you set up both the server and client on the same RedHat machine,
you get a duplicate package error as they both depend on 'openldap'.
Making the package definitions for these virtual and then realizing
them immediately afterwards, we avoid that issue.
Merge pull request #14 from PeterJCLaw/fix-duplicate-package

Fix #12: Avoid duplicate package errors by virtualising them
Merge pull request #13 from PeterJCLaw/fix-templates

More puppet 3 templates fixes
Add LDAP/PAM option for allowing local user logins

Because LDAP manages PAM (hhhnnnggg) this is where we have to configure
PAM. The only difference between ldap's default configuration and
optimus' is that local (/etc/passwd) users are allowed to login, so add
an option to enable that behaviour.