cyclades: Additional vm task state mappings

The mappings are related to the volumes api vm tasks.

Refs #98
astakos: Fix system project display in usage view

Identify system projects using project's system_project attribute.

Refs #98
ui: Volumes ui integration

- Volume api model and collection objects
- Volumes list pane
- Volume create wizard
- VM volume list in icon/single view
- Move snapshot functionality from vms to volumes entries

Closes #98
cyclades: Fix a typographical error

Rename 'charachter' to 'character'.

Closes #112
docs: Fix typographical errors

Make the following changes:
    servive    -> service
    vesionless -> versionless
    servers    -> /servers
    imageRed   -> imageRef
    flavorRed  -> flavorRef

Closes #113
astakosclient: Rename param project->project_id

This change affects the parameters of all methods in astakosclient.
Preserve backwards compatibility.

Refs #110
cyclades: Use "project_id" in astakosclient calls

Closes #110
docs: Write an API guide for Block Storage API
pithos: Fix wrong quotas when moving objects

Quotas were not accounted correctly when moving an object or a folder to a
path that another object already exists.

This commit fixes this issue.

In addition to this, the backend during move operations used to issue the quota
change for each separate operation (copy & delete) and for each affected object
(in the case of bulk move operations).

This commit introduces the following enhancement:

In case of a move operation to the same account and to the same project
computes the whole quota change and contacts the quota holder component only
once (at the end of the whole procedure) for the specific account/project.

However, we do not perform the same for such copy operations because we want to
catch quickly failures due to quota restrictions.

Fixes #2
pithos: Reorganize backend testing code.

Break backend testing code into several modules and extent the tests to
challenge also the sqlite backend module.
pithos: Provide tests for the quota commissions
astakos: Split im/functions.py

Split `im/functions.py` in two parts. Rename the first part as
`user_utils.py` and keep in it all user-related utilities that
`im/functions.py` provided (mainly mail utilities). The second part is
the project-related functions, which will be kept in `im/functions.py`
for now.

Also, fix any broken imports that this split introduces.
astakos: Allow sending customizable emails

Add a `send_plain` function in `im/user_utils.py`. With the `send_plain`
function, the admin can send a fully customizable mail to an
AstakosUser. The admin can either choose to use the provided body
template (`plain_email.txt`) and subject, or write his/her own.
astakos: Add project logic

Add a `validate_project_action` function that takes a project and
an action as arguments and checks if the action can be applied on the
project.
astakos: Add user logic

Add a `user_logic` file that serves as a common endpoint for actions on
users. The actions that this file offers act as a wrapper above
`activation_backends` and are used by `snf_manage` and `im` views.

Also, add a `validate_user_action` function in `activation_backends`, in
order to export this user logic to any other module that wants to use
it.
astakos: Add tests for user_logic

Add tests under `im` that verify that the functions in `user_logic.py`
are working as intended.
astakos: Add tests for management commands

Add tests for the following management commands: user-modify,
user-activation-send.
Revert wrong commit

This reverts commit cf9b4e0bba5f5b8b111581df4836aac9cf08a40c.
docs: Update obsolete intersphinx mappings

Update the obsolete intersphinx mappings for Synnefo projets in conf.py
docs: Minor fixes