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.