Fix django-admin commands

Some django-admin commands used to inherit from django’s NoArgsCommand.
Therefore their implementation was placed in handle_noargs() method.

A previous commit has changed the django-admin commands all over synnefo to
inherit from SynnefoCommand (which inherits from django’s BaseCommand),
without changing the implementation method to handle().
As a result, these commands fail with NotImplementedError.

This commit fixes this issue.

Closes #103
pithos: Restore SQLite backend module.

The Pithos+ backend can work with several database backend modules.
Currently there are modules for SQLAlchemy and SQLite.
However, the SQLite module was broken by the changes introduced by the support
of snapshots.
This commit restores the SQLite module.

Closes #102
deploy: Add missing cyclades options for ext

The ext disk template needs some extra parameters that are defined
in cyclades settings. Add those missing settings.

Additionally remove any hardcoded references to /srv/ganeti since this
is configurable.

Change mails found in cyclades.conf to examples (e.g
user@synnefo.org).

Add shared-filer ext provider too (by installing ExtStorage
component too).

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Support run command

..to kinda simulate pdsh. Specifically:

  snf-deploy run --setup synnefo --cmd "apt-get update" -vvv

or:

  snf-deploy run --target-nodes node1,node2 --cmd "apt-get update"

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
cyclades: Fix ext storage support

Pass origin disk parameter and img_id None only if provider
is included in GANETI_CLONE_PROVIDER list.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
astakos: Create system project on user acceptance

Delay the creation of user's system project until the user is accepted,
to avoid polluting the database with unneeded project objects.

There is a slight chance that a user UUID (to be used for a system project)
collides with an existing project UUID. In this case, one has to delete the
user and make a new one in its place.
astakos: Change the display name of system projects

Change the name of projects from "base:UUID" to "system:UUID", so as
to avoid confusion, since the name is visible in management commands.
astakos: Wrap user-modify actions to catch errors
Merge branch 'feature-delay-project' into develop
docs: Typo fixes
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.