docs: minor fixes
docs: minor fixes
cyclades: Use bulk create in DB migration

Speed up DB migration for volumes by using bulk creation. Also fix
backwards migration.
cyclades: Automatically adopt unknown Ganeti disks

Update 'snf-dispatcher' and 'reconciliation' mechanism to automatically
adopt unknown disks of Ganeti instances. Adoption is performed by
creating a Cyclades Volume and then renaming the instance's disk with
the volume's uuid (snf-vol-%id). The quotas for the new volume are
charged to the server's project.
cyclades: Remove volume-import management command

Remove unnecessary command, since unknown Ganeti disks are automatically
adopted by snf-dispatcher and reconciliation mechanism.
cyclades: Fix corner case when updating vm disks

Fix a corner case when updating the disks of an instance, in
snf-dispatcher and reconciliation. This corner case is when a VM has both:

* unknown Ganeti instances (without a unique Synnefo ID)
* volumes that exist in DB but not in Ganeti

Such a case cannot be fixed automatically, and should be resolved by the
administrator. This case will also appear during the upgrade to version
0.16.
cyclades: Fix not null constraint

Image's 'os' and 'osfamily' attributes cannot be null.
cyclades: Fix bug in string formatting
cyclades: Move snapshot registration to plankton

Move the code that registers a snapshot to Pithos (using the
'register_object_map' method of the Pithos backend) to plankton.
pithos: Remove entry from package manifest
deploy: Fix typo
astakos: Keep project_capacity in bigint range

If the project capacity computed in migration exceeds the bigint range, set
it equal to max bigint (which represents infinite).
Switch BSD license remainders to GPLv3
pithos: Bulk deletion enhancement.

Bulk delete operations (delete container contents &
massively delete objects under a specific object path)
used to issue the quota change for each object deletion separately.

This commit introduces the following enhancement:
the backend computes the total quota change for the account/project and
contacts the quota holder component only once (at the end of the whole
procedure).
cyclades: Minor bug fix in pprint_network

* Print 'None' if a network doesn't belong to any users instead of
crashing.
cyclades: Update snf-manage argument names

* Update various snf-manage commands to use --display-mails instead of
--displayname.
* Add --display-mails option in port-inspect.
cyclades: Bug fixes in volume related commands

* Add a check to both name length and disk template length in
snf-manage volume-type-create.
* Add a check for the metadata length of snapshots.
* Add a generic try/except clause to handle Pithos responses.
* Add --user/--public options in snapshot-show/image-show.
* Add a boolean "snapshot" field in image-list.
* Remove unused user agrument from backend.get_snapshot().
* Remove --wait option from snapshot-create.
* Various typo fixes.
Eliminate non-ASCII char from settings and NEWS

Closes #131
common: reconfigure the synnefo settings framework

- add 'services' endpoint in 'synnefo' namespace,
  where all components register their services.

- add three stages of setting initialization:
  1. preprocessing, after default settings are read from components,
     and before any user configuration files are read.
  2. postprocessing, after all user configuration files have been read.
  3. setup, which runs a (configurable) list of setup modules on the
     settings.

- add special default settings value classes:
  - setting_name = Example("example value")
    which makes 'setting_name' mandatory to be set by the user,
    providing an example value for the error message if they don't.

  - setting_name = Default("default value")
    which makes the setting optional for the user settings,
    but also makes synnefo settings "know" whether the user did
    configure it themselves or just let it default.

  - setting_name = Deprecated()
    which makes the setting mandatory to NOT be set by the user,
    to force them to remove it or replace it appropriately

- preprocessing scans settings for the special-value classes
  and compiles the following dicts:

  settings._DEPRECATED -> a dict with all Deprecated() settings
  settings._MANDATORY -> a dict with all Example() settings
  settings._DEFAULTS -> a dict with all Defaults() settings
  settings._OTHER -> a dict with the rest of the settings

- postprocessing scans the settings after reading the user configuration
  files, raises errors on mandatory and deprecated settings, and
  compiles a settings._CONFIGURED dict with all default settings that
  have been actually configured by the user.

- settings.SYNNEFO_SETTINGS_SETUP_MODULES is initialized as
  ['synnefo.settings.setup.services'].
  At the setup stage, all modules within that list are imported
  and their module.setup_settings(settings) function is run.

- services.setup_settings() configures:

  - settings.SYNNEFO_SERVICES, a JSON-exportable document from all
    documents contributed by installed synnefo components via the
    'services' entry point.

  - settings.SYNNEFO_COMPONENTS, a dict of component names to
    their services catalog (dict), extracted from SYNNEFO_SERVICES.

  - for each component name, it demands a settings.<COMPONENT>_BASE_URL
    setting, making it a fatal error not to provide one.
    After retrieving COMPONENT_BASE_URL, it also generates
    settings.<COMPONENT>_BASE_HOST and settings.<COMPONENT>_BASE_PATH

  - Using the base path settings, fills in the PublicURL entrypoints
    for all services in SYNNEFO_SERVICES.

- add snf-manage settings command, to display various aspects of
  settings, such as complete listing, defaults-only, configured-only,
  etc.

Conflicts:
	astakosclient/astakosclient/__init__.py
	snf-astakos-app/astakos/im/astakos_resources.py
	snf-astakos-app/astakos/im/management/commands/service-export-astakos.py
	snf-astakos-app/astakos/im/settings.py
	snf-astakos-app/astakos/im/tests/api.py
	snf-astakos-app/astakos/urls.py
	snf-common/synnefo/lib/services.py
	snf-common/synnefo/settings/__init__.py
	snf-common/synnefo/util/keypath.py
	snf-cyclades-app/synnefo/api/tests/images.py
	snf-cyclades-app/synnefo/api/tests/networks.py
	snf-cyclades-app/synnefo/api/tests/servers.py
	snf-cyclades-app/synnefo/app_settings/urls.py
	snf-cyclades-app/synnefo/cyclades_settings.py
	snf-cyclades-app/synnefo/plankton/tests.py
	snf-cyclades-app/synnefo/quotas/resources.py
	snf-cyclades-app/synnefo/ui/settings.py
	snf-pithos-app/pithos/api/management/commands/service-export-pithos.py
	snf-pithos-app/pithos/api/resources.py
	snf-pithos-app/pithos/api/settings.py
elements from Remove 'v' from service version IDs, keep it in URLs