Refactored GPG exec and added default directory from $name parameter

Multiple job definitions caused an error because the GPG exec definition was being created multiple times. This pull request refactors the parameters for clarity and gives the GPG execution a unique (per-gpg-key) name. Common GPG keys declared in params are loaded there.

In addition I've updated job to use the $name parameter as the directory and spool file name (cleansed of slashes) if one is not passed. This is useful when an array is used for example:
```` 
$backup_dirs = hiera('backup_dirs')
duplicity { $backup_dirs: }
````