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.
Merge pull request #38 from Cerberus98/master

Fixes #36
Fixes #34

A previous patch updated segment_id to correctly be treated as a list,
but inadvertently filtered on tenant_id instead of segment_id in the
subnets table.
Merge pull request #39 from Cerberus98/master

Fixes #34
Fixes #41

Re-implements port_update and several IPAM methods to support what seems
to be the actual intent of the Neutron API, or at least as it's consumed
by Nova. More specifically, it's now possible to pass only a subnet_id
as a "fixed_ip" to port_update and receive a new IP generated via the
configured IPAM driver. Additionally, Quark now treats all existing IP
addresses that have matching "fixed_ip" entries in the update body as
NoOps, hopefully cutting down on any potential IP loss.
Increases quota_ports_per_network to 250

Fixes RM#4439
Merge pull request #40 from rackerlabs/up_quotas

Increases quota_ports_per_network to 250
Merge pull request #42 from Cerberus98/master

Fixes #41
Fixes tenant_id

See https://github.com/rackerlabs/quark/pull/35
Merge pull request #43 from rackerlabs/ganked_fix_tenant

Fixes tenant_id
RM3889

- change IPPolicy to use CIDRs for exclusion
- no longer allow offset/lengths
- changed IPPolicyRule to IPPolicyCIDR
- default CIDRs excluded are network ip and broadcast ip, these are detected and added in the IPPolicy model.
- no longer allow configurable default policies becase we can't detect if subnet is IPv4 or IPv6 at configuration time
- We are more strict about only allowing a user to provide either network_ids or subnet_ids.  We will throw an exception if they provide both.
Merge pull request #32 from jmeridth/rm3889

RM3889 - Make IP policy solution CIDR based
Fixes some type semantics garbage
Merge pull request #44 from Cerberus98/master

Fixes some type semantics garbage
Give full IPAM control to update_port

We want to give full control of IPAM to update_port, as Nova will be
passing subnet_ids to Neutron. In the event that the requested network
used a strategy such as BOTH or BOTHREQ, Quark would utilize the passed
subnet_id to allocate one IP, fail the strategy_satisfied check, and
allocate another IP from the same subnet.
Merge pull request #45 from Cerberus98/master

Give full IPAM control to update_port
One more type conversion for netaddr.IPAddress
Include all submodules in sdist

When running `python setup.py sdist` you'd only get the toplevel
quark module. Now you should get all submodules included.