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>
cyclades: Store image version additional to UUID

Store the image's version together with the image's UUID, in order to
track the exact image (Pithos file) that has been used for a server or
volume. This is required because Pithos files retain their UUID when the
file's data or metadata are updated. The (uuid, version) tuple is
required in order to fully determine the file that has been used.
cyclades: Add Image DB model

Create a new model, named 'Image', to store basic information about
images that have been used to create servers or volumes. The images are
stored in Cyclades (in addition to Pithos where they exist) in order to
preserve information about images that may be updated or deleted from
Pithos.
cyclades: Use Image model to generate image stats

Use the newly introduced Image model in order to generate statistics
about the images that are used for servers.
cyclades: Store image info for new servers

Store the information about the image that has been created to create a
server.
cyclades: Update mocked images