cyclades: Fix IndexError
gtools: Fix AttributeError

Check 'dry_run' attribute after ensuring that it is a cluster operation,
since adding tags to networks or nodes does not have the dry run option.
cyclades: Handle VMs connected to unknown networks

Catch InvalidBackendIdError when reconciling instances that are
connected to networks that do not belong to Synnefo.
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