add a rack base uri of /
(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
prefix variables with @ in templates
remote backup server configuration

this is something that belongs into a profile, not int a coherent module
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.
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
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`
actually set the environmentpath - bad c/p :(
config_version has also been deprecated with environmentpath