Raise BadRequest if unable to create subnet

The existing create_subnet method iterates over subnets looking for one
that it can use and filters out any errors for overlapping CIDRs. The
problem is if a usable subnet is not found, the code goes on to use an
undeclared variable (body).

This patch saves the last overlapping CIDR exception and raises it if no
usable subnet is found to avoid the undeclared variable usage.

Fixes bug 1186445

Change-Id: I9ba4feada05a65a592bbd04ce8b722200e80b165