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.
astakos: Change the imports for transactions

Do not import the transaction module from django.db. Import it instead
from astakos.im, where the Astakos transaction entry points are located.
cyclades: Add tests for transactions
astakos: Add tests for transactions
Merge branch 'feature-multi-db-transactions' of https://github.com/apyrgio/synnefo into release-0.16
docs: Update snf-image related stuff

 * Mention the fact that snf-image 0.16 is the first version that supports
   Archipelago in the upgrade notes.
 * Add instructions on how to workaround a QEMU bug found in the
   wheezy-backports package.
admin: Add administrator panel

The snf-admin-app is currently a port of the helpdesk app which resided
under Cyclades. The new url for this app is "^admin/".
admin: Add database router
admin: Add accept/reject functionality
admin: Integrate astakos/cyclades stats

Print a dictionary with the astakos and cyclades stats.

WARNING: The account check is disabled for testing reasons. It will be
re-enabled in later versions.
admin: Add user list in index

Add to the index page a user list, filters that operate in it as well as
actions.
admin: Apply actions to users conditionally
admin: Add new Astakos states

The user will be considered to be in ONE of the following states:

Active: The user is activated and moderated.
Inactive: The user is moderated but may be rejected or inactive.
Pending moderation: The email of the user is verified but the user is
not moderated.
Pending verification: The user's mail is not verified.

This state is reflected in the user list as well as in the <tr> of the
html template.
admin: More data state from <tr> to <td>
admin-ui: Update jquery (v1.7.2 -> v1.11.0 min)