Small typo fix

closes grnet/synnefo#198
docs: Update CentOS 6.5 installation guide for 0.16

closes synnefo/grnet#192
cyclades: Fix mishandling of MAX_CIDR_BLOCK setting

Fix mishandling of MAX_CIDR_BLOCK setting. The CIDR range should be
[MAX_CIDR_BLOCK, 29] instead of (MAX_CIDR_BLOCK, 29] that was until now.
pithos: Several PEP8 and test fixes
pithos: Apply metadata/group limits for the resources

This commit sets a maximum metadata number per Pithos
resource as well as a maximum group number per account
and a maximum allowed number of group members.

More specifically:
* Introduces two new settings for Pithos:
* the maximum number of metadata each resource
  (account/container/object) can have,
  the maximum number of groups each account can have
  and the maximum number of members each group can have.
* Adds checks to enforce the above limits.
* Introduces the LimitExceeded exception raised by the backend
* when these limits are infringed.
* Refactors the backend implementation of the group/metadata
  update in order to reduce interaction with the database.

The affected backend methods are:
* update_account_meta
* update_container_meta
* update_object_meta
* register_object_map
* copy_object
* move_object
* update_object_hashmap
* update_account_groups

Applications, other than Pithos+, that use the Pithos backend
should put a special care on handling these situations.
plankton: Handle limit exceptions.

Pithos backend enforces limits on the number of the resource metadata.
If these limits are exceeded a LimitExceeded exception is raised.
Plankton should catch these exceptions and fail with BADREQUEST (400).
docs: Update storage API
pithos: Fix group issues

* Fix encoding issues
* Provide the appropriate tests
astakos: Revert bulk update of holdings in commissions

db464c6 introduced a bug: deleting holdings (and then bulk creating them)
interferes with locking; a thread that waits for holdings will not get
the deleted ones.

Revert to separate updating of holdings when issuing and resolving
commissions.
cyclades: Add GANETI_DISKS_WAIT_FOR_SYNC option

Add new setting to denote whether Ganeti will wait for the disk mirror to
sync (DRBD). This setting is used when creating a new instance or adding
a new disk to an existing Ganeti instance.
ui: Fix position of suspended vm notice
docs: Update 0.16 upgrade notes

Describe new Pithos mapfile after the consolidation with Archipelago.
pithos: Add class attribute to ModularBackend

Add _class_version class attribute to ModularBackend class
to differentiate between multiple backend versions.
cloudbar: Do not show image link border in IE
docs: Add design doc for multi-db transactions

This doc presents the problem of multi-db transactions in Django and
proposes a solution that converges with database routers.

Also, add a mention in the dev-guide about this change.
snf_django: Add database router for Synnefo apps

Add Django database router to support using Synnefo with multiple
databases. In a gist, if the administrator has added in the DATABASES
setting a database with the "cyclades" or "astakos" alias, and
SynnefoRouter is defined in DATABASE_ROUTERS, then that database will be
used to read/write the respective Cyclades or Astakos models.
snf_django: Add support for multi-db transactions

Add two functions:

* select_db: Return an appropriate database to read/write depending on
  the app ("db"/"im") that makes the request.
* _transaction_func: Common entry point for all Cyclades/Astakos
  transaction functions. This function calls the select_db function to
  choose a database for the transaction and then passes the control to
  the Django transaction functions.
cyclades: Mimic Django transaction module

Provide a transaction module similar to Django's. The implemented
functions are commit(), rollback(), commit_on_success(),
commit_manually(), which should work exactly the same as the Django
counterparts. The added benefit is that the transaction will open always
in the correct database, even in a multi-db scenario.
astakos: Mimic Django transaction module

Provide a transaction module similar to Django's. The implemented
functions are commit(), rollback(), commit_on_success(),
commit_manually(), which should work exactly the same as the Django
counterparts. The added benefit is that the transaction will open always
in the correct database, even in a multi-db scenario.
cyclades: Change the imports for transactions

Do not import the transaction module from django.db. Import it instead
from synnefo.db, where the Cyclades transaction entry points are
located.