Add --data option to debug curl logging

Add --data option to debug curl logging so you can cut and
paste the entire command.

Change-Id: Ieb2a5c13b4dca2a409c07cf5717b0fc82e26a64d
Have the service catalog ignore empty urls

The service catalog was ignoring None for URLs, but not empty
strings.  This change should hit both cases.

Change-Id: I72ec344ff3f24fcd960023be5e39294c6b12ce34
Add common method to find a resource

The find_resource_cls method can be used by several commands to
locate a resource.  It may be called with a file name or import
path.

Change-Id: Ia83c9e6c1a9745088c3558bfbef32d4a4ca234b2
Example create command

Example create command and new --data option for examples.  For
example:

    python -m examples.create openstack/network/v2_0/network.py \
           --data '{"name": "foo"}'

Change-Id: Ie048f0e7d31b25e8c3df79a59d3cd73f4ce2b1b2
Add example delete

Example delete command gets used like:
    python -m examples.delete openstack/network/v2_0/network.py \
           --data '{"id": "a1369557-748f-429c-bd3e-fc385aacaec7"}'

Change-Id: I03211b1e8f9c9efeb47c517d7e597acb8e7d6f59
Add example get

Example get command gets used like:
    python -m examples.get openstack/network/v2_0/network.py \
           --data '{"id": "a1369557-748f-429c-bd3e-fc385aacaec7"}'

Change-Id: Idd8e9ecc1c33ef929add162cf61ec894856cb851
Merge "Add common method to find a resource"
Merge "Example create command"
Merge "Add example delete"
Merge "Add example get"
Merge "Have the service catalog ignore empty urls"
Make these comments H405 compliant

Someone how cares about these comments should probably look
at this.

Change-Id: I144a3749c883d0f8e7084021e69b99ccafd0b32a
Merge "Add --data option to debug curl logging"
Have exceptions print something by default

Set the message of the base exception so that exceptions convert
to at least some useful string.

Change-Id: Ib5ec54fa27bfc6d7733e1c5726e252b241bcb1f4
Merge "Have exceptions print something by default"
Add parameters to the list for filtering

Allow lists to be filtered by the server.  For example:

report_filter = {'router:external': True}
data = network.Network.list(client.session, **report_filter)

Returns only external networks.

Change-Id: Ia90421e18fe94036fe3a2b89fc448ff5e9169674