Allow None values to be returned from the API

Currently, Glance's API v2 doesn't return fields whose value is None.
This, unfortunately, is wrong for a client perspective since it would
create inconsistencies between calls and images due to the lack of
fields in the response.

The API should guarantee consistency in its replies and ensure all
fields have a value, even if it's None.

NOTE: This work is part of the migration to v2. It fixes inconsistencies
in the API and improves the interaction between the client library and
Glance.

NOTE2: A follow-up patch will bump the minor API version, wait for it.

ApiImpact
DocImpact
Closes-bug: #1398314

Change-Id: Ieaddd8a686cf7361f18cb1ee83b7887cdca22bd6
Merge "Allow None values to be returned from the API"
Fix getaddrinfo if dnspython is installed

If dnspython is present in the environment then eventlet
monkeypatches socket.getaddrinfo() with an implementation
which doesn't work for IPv6.

This patch has also been applied to other Openstack
projects such as nova (f2e49ad3) and keystone (3afd9791)
in order to work around the same problem and is
intended to be used in the same way.

Co-authored-by: Hui Xiang <hui.xiang@canonical.com>
Closes-Bug: 1331885
Change-Id: I795e004eac3f032217ff9cb0047f1976306fbb71
Merge "Fix getaddrinfo if dnspython is installed"
Fix and add a test case for IPv6

Fixing and adding a test case in relation to the eventlet ipv6 fix
in patch set 23 (https://review.openstack.org/#/c/101079/).

  * pre-import eventlet for test case test_evnetlet_no_dnspython,
    which wasn't actually importing eventlet like it described.
  * add case test_no_evnetlet_no_dnspython

Change-Id: I55c40ed735781862f8352afb917058bf475d16fe
Fix typo in common module

Fixed following typo in glance/api/common module:
'exceeed' --> 'exceed'

Change-Id: I5763d74473a43615da9e10f87a4ad048953ca0f5
Merge "Fix typo in common module"