astakos: Add email notifications recipients

Astakos accepts three lists of people who receive application
notifications, namely 'ADMINS', 'HELPDESK' and 'MANAGERS'. Then it sends
email notifications in a preconfigured way in these lists (ie. project
creation notifications are always sent to the 'HELPDESK' and 'MANAGERS'
email lists).

We would like to enable Astakos to specify explicitly the lists in which
every notification will be sent. This commit adds the corresponding
settings that will enable this feature.

For convenience, Astakos groups the notifications in three categories
and let the user define the recipients for these.
  - ACCOUNT_NOTIFICATIONS_RECIPIENTS receive notifications for 'account
    pending moderation' and 'account activated' actions.
  - FEEDBACK_NOTIFICATIONS_RECIPIENTS receive feedback notifications
  - PROJECT_NOTIFICATIONS_RECIPIENTS receive notifications for 'project
    creations' and 'project modification' actions.

Furthermore, one can explicitly specify the recipients for a specific
notification by using one of the following settings:
  - ACCOUNT_PENDING_MODERATION_RECIPIENTS
  - ACCOUNT_ACTIVATED_RECIPIENTS
  - PROJECT_CREATION_RECIPIENTS
  - PROJECT_MODIFICATION_RECIPIENTS
By default, these settings are not exposed to the config file.
astakos: Sent notifications to the specified lists

Use *_RECIPIENTS settings and sent email notifications to the
appropriate lists.
astakos: Document usage of '*_RECIPIENTS' settings

Document the usage of '*_RECIPIENTS' settings in Astakos to control the
lists were Astakos sends notifications. These lists used to be
preconfigured.
gtools: Fix a race in the cpustats collectd plugin

If the VM has just been started, the cpustats collectd plugin might try
to read /proc/<pid>/fd/ for VCPUs fds, before qemu has initialized /
created the VCPUs. This led to a ZeroDivision error in the collectd
plugin. Make sure to skip that particular VM until the VCPUs have been
created.
cyclades: Catch corner case in reconciliation

Include 'ERROR' in the states for which we check if the NIC exists in
the Ganeti instance.
ci: Update flavor option for burnin

Do not use only file disk templates, since an archipelago disk template
is required for snapshot tests.
cyclades: Add snapshot property in lowercase

Snapshot properties are stored in lowercase in Pithos DB. It is the
image/plaknton API that converts them to uppercase.
cyclades: Get Pithos objects by their UUID

Use the newly introduced 'get_object_by_uuid' method to get a Pithos
object by it's UUID, instead of mapping a UUID to a (account, container,
name) tuple.

Also, remove the '--user' and '--public' options from 'image-show' and
'snapshot-show' management commands. Instead, use the option to bypass
Pithos permission check.

Finally, fix plankton tests to mock the 'get_object_by_uuid' method.