(WIP) DE631: do not allow /30, /31, /32

WORK IN PROGRESS/DO NOT MERGE YET/DOESN'T PASS UNIT TESTS

This patch causes and exception to be thrown if the user attempts
to create or modify a subnet to have a /30, /31, or /32 mask.
This patch is a squashing and minor tidying-up of the changes
to python-neutronclient from two separate commits to the old
puppet-coe-service-patch module:

dff604420c48dfe47467cdd1b48687443fb7b32a
56bb890def8abed63f77bad42da39ae78e1229f4

The commit messages from those follow below.  Note that these patches
pertain partly to upstream bug #1341040, for which the community merged
a different fix that only logs a warning rather than throwing an
exception: https://review.openstack.org/#/c/106678
However the upstream approach was deemed insufficient and is
therefore not implemented here.

----
commit dff604420c48dfe47467cdd1b48687443fb7b32a
Author: Pauline Yeung <yeungp@cisco.com>
Date:   Wed Jul 23 17:49:45 2014 -0700

    DE631 do not allow /30, as creating the first VM may require network with
    at least 5 IP addresses.

    Change-Id: I1bb48a512adeb509073b8b1c61520db8ea555768
----
commit 56bb890def8abed63f77bad42da39ae78e1229f4
Author: Pauline Yeung <yeungp@cisco.com>
Date:   Thu Jun 26 11:45:35 2014 -0700

    DE494: verify subnet configuration has valid CIDR and gateway.

    Change-Id: I5242326caaf2ccf79a8843596a22094d9a3ba623
----

Partial-bug: #1341040
Partial-rally-bug: rally-bug DE631
Partial-rally-bug: rally-bug DE494
Implements: rally-user-story US4145
Implements: rally-task TA3473
Not-in-upstream: true