cyclades: Make all volumes terminate with servers

Do not allow users to set 'delete_on_termination' to False, since,
currently, Cyclades do not support detached volumes.
cyclades: Add index to volume.deleted column
cyclades: Forbid actions to deleted resources

Do not allow any "write" action to deleted (marked as deleted=True)
servers, networks and volumes. Only reading information about the
deleted resources is allowed.
cyclades: Store the index when creating a volume

Store the volume's index in the DB when creating a new volume.
cyclades: Update volumes state if create VM fails

Update the state of server's volumes to 'ERROR', if Cyclades fails to
issue the instance creation job to the Ganeti backend.
cyclades: Get default volume type from server

Fix the 'volume-create' management command in order to use the server's
volume type, if the user did not specified it using the '--volume-type'
option.
cyclades: Do not allow cloning a volume

Update 'volume' app to not allow cloning a volume, because it is
currently not supported by Archipelago.
cyclades: Accept an empty image when using volumes

Accept an empty 'imageRef' attribute when creating a server with
volumes. The attribute must always be present even with an empty value.
In case the server's image is left blank, we use the source
(image/snapshot) of the first volume. Also, if an image is specified
both for the server and for the first volume, we check that the image is
the same.
cyclades: Delete snapshots by their UUID

Use the 'delete_by_uuid' method that was introduced in PithosBackend in
order to safely delete a snapshot by it's uuid.
pithos: Fix tests

Fix tests challenging partial content update that used to fail with
ValueError: empty range for randrange().