Merge branch 'develop' of https://github.com/cnanakos/synnefo into develop

This merge introduces the necessary changes required to better integrate
Archipelago v2 mapfiles with Pithos and Cyclades.
Make Cyclades work with Archipelago v2 and Pithos

Recent commits have integrated Archipelago v2 mapfiles to Pithos. This
commit updates Cyclades to go along with the recent changes in Pithos.
Specifically, this commit makes the following changes:

* Use the 'mapfile' attribute of the Pithos objects, instead of the old 'hash'
  attribute. Also, this attribute needs no custom prefixing
  ('archip:' or 'pithos:').
* Do not store 'is_snapshot' and 'status' attributes as plankton
  properties. The 'is_snapshot' attribute is now provided from Pithos.
  Also, the 'status' attribute can be derived from the 'available'
  attribute.
* Remove code from 'snf-dispatcher' that used to update the 'status'
  plankton property when the OP_INSTANCE_SNAPSHOT Ganeti job completed.
  This functionality is now covered internally from Pithos.
cyclades: Rename 'backend_id' to 'pithosmap'

Rename the 'backend_id' attribute of images to 'pithosmap'.
cyclades: Update tests for images/snapshots
ci: Use unstable repo for snf-image
astakos: Fix migration model definition

Migration 0081 had not incorporated the changes of the previous migrations,
and thus still considered AstakosUser.base_project as non null.
burnin: Rename 'project' parameter to 'project_id'

Kamaki's 'create_server' and 'create_network' functions accept a
'project_id' parameter, not a 'project' one. Fix burnin to use the
correct parameter names.

closes grnet/synnefo#137
pithos: Fix deadlock caused by erroneous check

To achieve atomicity we lock the container path.
However, the write operations update the statistics for the ancestor
nodes (container/account).
Therefore, the backend restricts the recursion up to the container
level.

However, the specific condition check would be evaluated to False
if ``recursion_depth`` was 0.
ui: Volumes/projects views fixes

as reported by drig@grnet.gr

- Include css class and text mappings for DETACHING_VOLUME
  and ATTACHING_VOLUME vm states.
- Fix vm resources summary in project reassign overlay.
- Prevent user from reassinging resource to the currently assigned
  project.
- Enable resize actions from vm info subview in both icon/single vm
  list views.
- Properly set minimum volume size to fit the selected image in
  volume create wizard.
- Styling fix in vm password overlay. signed-off-by: olgabrani@grnet.gr
- Fix misalinged vm status indicators in volume create wizard. signed-off-by: olgabrani@grnet.gr
- Enforce closing of select2 widget when create wizard overlay gets
  hidden.
- Minor wording fixes.
- Display project name in both vm/volume create wizard confirmation
  steps.
- Handle invalid non-numeric values typed in volume size input in
  volume create wizard.
- Properly set volume_id to match the id of the selected volume item
  in snapshot create call.
- Set max-{width,height} of volume description textarea in volume create
  wizard.

closes grnet/synnefo#140
cyclades: Extra disk params when attaching volumes

When attaching a volume to an instance, use the
'GANETI_DISK_PROVIDER_KWARGS' setting to let the administrator pass
extra parameters to the Ganeti ExtStorage provider (exactly like in
instance creation).
cyclades: Delete volumes after quota handling

When processing an 'OP_INSTANCE_REMOVE' job, delete the volumes after
handling of the quotas. Otherwise, the quota mechanism will see no
active volumes and the quotas will get unsynchronized.
cyclades: Fix typo
cyclades: Check length of volume's name/descr

Check the length of the volume's name or description when updating the
volume.
cyclades: Use volume's ID in exception message
cyclades: Add missing lock when detaching a volume

Get server with 'for_update' option when detaching a server's volume.
cyclades: Reject reassign on pending vm action

Use validate_server_action() to make sure a reassign fails when another VM
action is pending.
cyclades: Fix typos
cyclades: Reject volume reassign on pending action

Use validate_server_action() to make sure that the volume's reassignment
fails when another VM action is pending. For example, that you cannot
reassign a volume if the VM (and the volume) is being destroyed.
cyclades: Fix bug with volume quotas

When computing 'cyclades.disk' resource for a 'DESTROY' server action,
count only the volumes that are in the 'IN_USE' status. If the
volumes are not in this status, then a commission has already been
issued for that action. However, there is an exception, if the server is
in 'BUILD' operstate, where we must also count the 'CREATING' volumes.
api: Add support for more types of (VM) console

Modify the current 'console' action to support VNC WebSockets (requires
snf-vncauthproxy=1.6). Also add support for the three OpenStack Compute
console actions (VNC, RDP, Spice), supported by Nova. RDP (Hyper-V
specific) and Spice currently return a '500 Not Implemented' cloud
fault.