fix a duplicate resource conflict

between this module and puppetlabs/puppetdb Ini_settings are named the
same. That causes a duplicate resource conflict when we try to run a
puppet server and a puppetdb server on the same node.
prefix variables with @ in templates
simplify code by throwing away if/else

we don't care if something is an array, because we can easily turn it
into an array, flatten it, and then run join on it. join won't do
anything for one element, so

    $scalar = 'baz'
    join(flatten([ $scalar ]), ', ')

still returns `baz`, whereas:

    $ary = ['foo', 'bar']
    join(flatten([ $ary ]), ', ')

does, indeed, return `foo, bar`
make this module lint happy

please note that some of the parts of this patch fall into the same vein
as #89, in that it removes if or case statements, in favour for less
indentation, easier to read code, and, of course, to make the linter
happy in cases where there were selectors in resource declarations
fix tests: Add more facts
(optionally) configure environmentpath

Starting puppet 3.5.0, we can now use a single directive to configure a
common pattern of modules and manifests in different environments:
`environmentpath`.

Experience shows that this setting should be in the `[main]` section, or
else things start getting wonky.

When setting `environmentpath`, we have to neglect the `modulepath` and
`manifestpath` settings.

It is not be within the scope of this new directive to extend to
extend `config_version_cmd`.

An optional `environment.conf` is presumed to be provided by the user,
via git.

This pr addresses #93
actually set the environmentpath - bad c/p :(
config_version has also been deprecated with environmentpath
Merge pull request #86 from igalic/resource-conflict

fix a duplicate resource conflict
Merge pull request #87 from igalic/template-vars

prefix variables with @ in templates
Merge pull request #89 from igalic/simplify

simplify code by throwing away if/else
Merge pull request #90 from igalic/lint

make this module lint happy
Merge pull request #94 from igalic/environmentpath

(optionally) configure environmentpath
remote backup server configuration

this is something that belongs into a profile, not int a coherent module
Support noop on the cron run
Merge pull request #92 from igalic/no-bacula

remote backup server configuration
Merge pull request #98 from puppetlabs-operations/noop

Support noop on the cron run
Ensure future parser compatibility (quote string)

Since Puppet 3.5.1 the future parser no longer matches upper case words
in a selector statement as they are treated as a custom resource type.

See https://tickets.puppetlabs.com/browse/PUP-2800?focusedCommentId=76016&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-76016 for details.
Merge pull request #99 from fadenb/fix/futureparser_compatibility

Ensure future parser compatibility (quote string)
Add basic beaker tests
Tests only cover basic installs of standalone, passenger, and unicorn puppetmasters