Makes agent quark share common redis code

RM9983

Re-works the quark agent to use the same security groups code as the
plugin. Additionally, moves or removes superfluous files and tests as
appropriate.
Merge pull request #260 from Cerberus98/rm9983_work

Makes agent quark share common redis code
Re-allow enable_dhcp & ip_policy_id on subnet POST

RM9573

These attributes were expressly forbidden by the subnets_quark API
extension. It's better to limit them with policies or ignore them.
Merge pull request #261 from Cerberus98/rm9573

Re-allow enable_dhcp & ip_policy_id on subnet POST
Adds a lot more logging to quark ipam

RM8734

Implements a bunch of additional logging in quark IPAM. There may be
additional changes to come, but this should help tremendously when
debugging. Additionally, this broke quite a few IPAM tests as they were
attempting to get away using only key, checked fields from the models.
Merge pull request #262 from Cerberus98/rm8734

Adds a lot more logging to quark ipam
Shared IP API

Squashed work from John Perkins <john.perkins@rackspace.com> and Thomas Maddox <thomas.maddox@rackspace.com>
removing in_both for update_port_associations_for_ip
removed accidental log import from tests
added test_get_ip_addresses_multiple
removed '_IP' from constant names
remove self.maxDiff from tests
Port update now correctly allocates multiple IPs

RM10187

If multiple new fixed_ips were passed to update_port, the functionality
incorrectly passed previously allocated IPs back into subsequent calls
to allocate.

Assuming N IP addresses were requested, and the first of those was
successfully allocated. The behavior of the second IP address allocation
would result in one of two behaviors:

1) If the IP existed and was deallocated, it would allocate it and work
   as expected
2) If the IP did NOT exist, the strategy satisfaction check between
   reallocating an old and allocating a new would return True, as
   the first IP allocated was passed in as part of the "addresses" list.

This patch ensures that a fresh "addresses" list is passed to each
allocation call, and the result of which is pushed onto a cumulative
list.
Adding tox path to test_base

This allows tox tests to find policy.json, a problem introduced upstream
Merge pull request #265 from insequent/quick_fix_for_upstream

An ugly fix for tox failures on policy.json
Merge pull request #264 from Cerberus98/rm10187_work

Port update now correctly allocates multiple IPs
moved address type constants to ip_types file
eager-loading of associations relationship on IPAddress model
Merge pull request #263 from TMaddox/shared_ip_api

Shared IP API
Adds a run_tests.sh for alternate repo testing

RM10049

Copies neutron's run_tests.sh with slight modifications. The intent is
to be able to use this to run tests in enviroments where tox is
unsupported.