Run Puppet actions only if required

Sometimes actions are triggered when you run "puppet agent -t" on some nodes -
without any modifications in Hiera or puppet manifests. This takes some time,
adds significant noise to the logs, and might even create duplicate entries in
the databases (or other parts).

This patch adds some checks to avoid duplicate runs.

One Redmine action has been deprecated and replaced by the new one
(generare_session_store -> generate_secret_token).

Jenkins config file is also updated, because Jenkins changes the parameters
after starting and replaces some values. This results in a Puppet action on
every run and also restarts Jenkins every 30 minutes. The config template was
modified to include the default values from Jenkins.

Also set allow_virtual to false globally, because this is the default current
value and it will change to true in a future release and currently raises a
warning.

Change-Id: Ia76db98f832bfc0f5bab1b838577e362a73e2433
Merge "Run Puppet actions only if required"