Support reserving ips at network create time

It is horribly inefficient to create a network and reserve a large
swath of ips, so allow the network creator to specify which ips
he wants to be available in the network by specifying allowed_start
and allowed_end.

Something like:

network-create foo --cidr 10.0.0.0/24 --allowed-start 10.0.0.5 \
    --allowed-end 10.0.0.250

would ensure that 10.0.0.0-10.0.0.4 and 10.0.0.254-10.0.0.255 are
marked reserved so instances would be assigned addresses from the
middle of the range.

Partially-implements blueprint better-support-for-multiple-networks

Change-Id: I5427e1a2d202658d374292559fc7054f2fa51124
Merge "Support reserving ips at network create time"