Prevent multiple device connections

RM#8865
RM8802

Removes the deprecated form of security group creation in the driver
logic. At the time of implementation, quark only supported one type of
network at a time, so we could make assumptions about what our security
groups were going to look like for a given implementation. However,
since then we added multiple-driver support, meaning the old assumptions
were now invalid.

Confining these changes to their own patch will reduce the overall
complexity of the final security groups implementation. While this
removes functionality, said functionality was already broken, so this
isn't strictly "more" broken.

Ensures basic functionality still exists with creation and deletion of
groups and rules.
Merge pull request #203 from Cerberus98/rm8615

RM8802
RM8816

Adds handling for protocols 0 through 254. The field in both v4 and v6
traffic is 8 bits wide, and the RFC specifically designates 255 as
reserved.
Merge pull request #204 from Cerberus98/rm8801

RM8816
Quieter unit tests

I couldn't find any options while perusing the alembic documentation
that specifically controlled logging, plus control of everything seems
to fall under the env.py umbrella, so I decided I would leave logging
unconfigured unless it was otherwise necessary.

There are still a handful of warnings that appear in the test run that
can be cleaned up later, but at least the entire run fits on one screen
again.
Merge pull request #205 from Cerberus98/master

Quieter unit tests
Merge pull request #206 from rackerlabs/rm_8865

Prevent multiple device connections
RM9078

Implements pessimistic connection pooling to attempt to mitigate a
transient error causing connections to report "MySQL has gone away" but
not correctly recycle. The listener itself is contained in a
configuration variable defaulting to False.
Merge pull request #207 from Cerberus98/master

RM9078