Add target parameter for arbitrary URL schemes

This allows backups to SSH servers or every other URL scheme supported
by duplicity. The old cloud, bucket and folder parameters are deprecated
but still supported.
Allow multiple encryption keys

If the pubkey_id paramater is an array, encrypt for all keys in the
array. Despite the parameter name keys can be specified in all ways
recognized by gpg, not only as keyids.

This adds a dependency on the puppetlabs stdlib.
Allow multiple directories

If the directory parameter is an array, backup all directories in the
array.

This adds a dependency on puppetlabs-stdlib.
Fix tests for encryption keys

Adapt tests to the new check if the encryption keys are already present
on the system.
Add ssh_id parameter

This parameter adds an ssh private key for authentication to the backup
server. The key must be generated separately without a password and the
public part has to be added to the authorized_keys file on the backup
server.
Merge branch 'multiple-dirs' into cirrax

Conflicts:
	manifests/job.pp
	templates/file-backup.sh.erb
Always trust GPG keys

The usual GPG trust model does not make sense in the context of
duplicity backups. It's the responsibility of the admin to only supply
keys with keyids he trusts.
Merge branch 'multiple-keys' into cirrax
Fix remove-older-than command

Move the command to the same line as the backup command. This was broken
by the quotes around the backup URL. But these quotes are useful
because URLs may contain special shell characters. Move the command to
the same line in the template to avoid that someone overlooks the clever
use of "-%>" in the template.

Also refines the test to detect this in the future.
Merge branch 'target-parameter' into cirrax

Conflicts:
	templates/file-backup.sh.erb
Silence backup jobs

The backup job scripts should not have any output under normal
conditions. Don't show statistics either. Only output errors and
warnings. This makes the mails from cron more usefull as they actually
contain something that needs attention.
Merge branch 'no-output' into cirrax

Conflicts:
	manifests/job.pp
	templates/file-backup.sh.erb
Use a keyserver on port 80 due to egress firewalls

egress firewalls you dont control make using the normal hkp port hard.
Add a post_command hook

The puppet-duplicity module we use allows us to specify a pre-command, but
doesn't allow us to specify a post-command. A pre-command runs before the
backup commences, whereas a post-command will run afterward.

This adds the ability to specify a post_command.