Add a module to create duplicity jobs

Using a fork of a fork of https://github.com/mattmcmanus/puppet-duplicity
because `mattmcmanus` hasn't merged several features that `cirrax` has done
that we would like to use. Most notably the ability to use `scp`/`sftp`
instead of `s3`
[#69995468]Move user creation to a new defined class

This is to avoid duplication of hieradata when we want to use username
and home_dir to create other classes.
[#69995468] Add a backup job for each user.

Use duplicity to backup a users home directory.
[#69995468]Add python packages needed by duplicity

Duplicity needs paramiko and gio to do backups to files or scp/sftp
[#69995468] Make the target scp and namespaced.

Make the default target more like what we would set for production.
Also make the per job target namespaced to the username
[#69995468] Encrypt the backups.

Use the GOV.UK Backup public key to encrypt the backups.
[#69995468] Only enable backups if backup_target exists.

Only enable duplicity backups if $backup_target has a value.
Also name space the hieradata.
Fix syntax issues
Merge pull request #154 from alphagov/69995468_backup_logs

backup remote user logs