cyclades: Add /routers api

* Add support for /routers api calls
* Add tests for the api
cyclades: PEP8 fix
cyclades: Fixes to port-create command

Verbal and code-style fixes to port-create command.
cyclades: Use existing IP when creating port

Extend port creation with the option to use an existing IPAddress. This
will be used to create a port with an existing Floating IP. Also, extend
port-creata management command with the '--floating-ip' option.
cyclades: Fix POST /ports

Modify port create api call. If the user gives a public network
he has to give a valid floating ip as well.
ci: kamaki config.get_global method is deprecated

Use the newer config.get("global", ..) syntax.
Fallback to the old one for older version of kamaki.
snf-ci: Run the unit tests for cyclades-userdata
cyclades: Fix userdata limit check

Argument passed to PublicKeyPair.user_limit_exceeded() was a dict
rather that a string (user uuid). Django would happily convert it
to a string and pass it through to the database query.

Also fix a minor bug in tests.
pithos: Fix permission listing for objects containing / in their name

Add tests
cyclades: Fix userdata tests

Mock the 'snf_django.lib.astakos.get_user' function.
The way it was done didn't seem to work.
cyclades: pep8 fixes
pithos: Handle database errors during permission updates

Refs: #4502
pithos: Eliminate AssertionError in views

Remove check for not allowed request method in view_method() decorator.
Let the api_method() decorator handle such cases.

Refs: #4501
Revert "cyclades: Add /routers api"

This reverts commit 69dadbe4e3223dc4d8cbaa5b09dde755c15679ed. Temporary
remove the /routers API.
cyclades: Add migratrion for external_router field

Add data migration for 'external_router' fields. This field is set to
True for all 'public' networks.
cyclades: Set external_router for public networks

Set 'external_router' attribute of created networks to True, if a
network is a public network.
cyclades: Default name for ports and subnets
cyclades: Create network in backend if missing

Automatically create a network in a Ganeti backend if missing.
Currently, this was done only for private networks. This commit changes
this to be done for any kind of networks.
cyclades: Fix output of network-inspect command
cyclades: Remove stale reference to 'router'