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.