DE494/631: do not allow /30, /31, /32, bad gateway

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

In additon, this patch fixes the subnet unit tests, which require valid cidr.

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-user-story US4456
Implements: rally-task TA3473
Implements: rally-task TA4049
Not-in-upstream: true