Merge pull request #24 from Cerberus98/master

Fixes #23
Fixes #25

We accidentally forgot to re-assign the filtered query back to the
"query" variable when choosing an lswitch.
Merge pull request #26 from Cerberus98/issue25

Fixes #25
Fixes #27

Implements basic segmented networking by providing a new "segment_id"
column. This column is used for lookups when assigning IP addresses out
of "shared" networks. If one attempts to create a port on a shared
network without providing the segment_id, ambiguity exceptions are
raised. Additionally, extends subnets to allow a segment_id to be passed
when the subnet is created.
Merge pull request #28 from Cerberus98/per_cell_net_merge

Fixes #27
Fixes #29 and #31

Now honors "do_not_use" on subnets, effectively ignoring them. Also, as
per issue 31, max_allocation is honored correctly so long as we 1) know
where to port max_allocation to (the quotas table) and 2) always create
the quotas table. The way to do that is to import the quota db driver in
the models regardless of whether we're using the conf driver or the db
driver. This is seemingly the blessed method upstream, so we'll follow
suit.
Merge pull request #33 from Cerberus98/do_not_use_merge

Fixes #29 and #31
Enable filtering on segment id

Pass a tenant id as an argument in
neutron subnet-list --segment-id={TENANT_ID}

Useful for listing blocks in a cell.

Fixes RM#4318
Merge pull request #37 from rackerlabs/segment_id_filter

Enable filtering on segment id
Fixes #36

segment_id now defaults to NULL as expected.