pithos: Restore XML input in uploads using hashmaps

In version 0.15 the option to create an object by providing the object's
hashmap in XML format, instead of the actual data, was disabled. Restore
this operation by substituting the 'minidom' module (vulnerable to some
security implications) with the 'lxml' module for performing the XML
parsing. Also fix the respective test case.

Close grnet/synnefo#155
Revert "pithos: Restore XML input in uploads using hashmaps"

This reverts commit 11b5b8503f7d85d6abffdfbb5111e21142b45ccb.
ci: Name directory when git-cloning

Explicitly name the directory where we clone a repo; don't rely on the
repo's name.
astakos: Add option to customize sender of emails

Allow changing the sender of an email in the `send_plain` function of
astakos.
astakos: Add test suite for user utilities

Use this test suite to check if `send_plain` function works as intended.
cyclades: Add validate function for IP actions

Use this function to verify that an IP can be deleted. The rationale
behind getting the delete check out of the `delete_floating_ip` action
is to make it easy for other apps to import it.
cyclades: Add tests for IP actions

Add a test for creating a floating IP and a test to check if the
`validate_ip_action` works as intended.
astakos: Prevent suspending a suspended project

If a project is already suspended, then do not allow the "SUSPEND"
action on it. Also, return an appropriate message.
astakos: Update validate user/project actions

Instead of passing the exception as a string, pass the class and raise
it using the provided message.
cyclades: Forbid deleting port from suspended vms

Check if a VM is administratively suspended before deleting it's port.
pithos: Refactor statistics subquery

Use CTE to get current population.

Add partial index to versions table.
pithos: Add missing setting from conf
pithos: Fix issues with groups

* Apply checks for group name/member length
* Do not try to insert an existing member to a group (integrity error)
pithos: pep8 fixes

closes grnet/synnefo#172
Update Cyclades section in Changelog
Fix typo
Bump version to 0.16rc1
pithos: Raise custom exception for invalid policies.

Raise 'InvalidPolicy' instead of 'ValuerError' exception
during account/container updates.
pithos: Change PithosBackendPool signature

PithosBackendPool constructor used to accept a number of keyword arguments
that it would pass them to the ModularBackend during the backend
instantiation.
Hence, this code required refactoring each time a new backend argument
was introduced.
This commit changes the PithosBackendPool to accept
a kwargs dictionary instead.
pithos: Minor test fixes