Fixes alembic migrations for RM6804

* Absorbs 56* revision (subnet_id, address unique constraint) into
  18* (initial revision); oblige already contained the changes in
  56* and prod databases were stamped to 18* so it makes sense to
  absorb contents of 56* into 18*.

* MacAddress.address is already a primary key; removes
  UniqueConstraint on (mac_address_range_id, address) from model.

* Removes added MacAddress unique constraint from 43* revision.
Removing pep8/flake reqs in test-reqs

Currently getting version mismatch on Travis tests.
MANY flake8 error fixes, all cosmetic
Many additional flake8 syntax fixes

More were found in the py26 env
And yet more flake8 fixes

Mostly import alphabetical order errors and space after multiline doc
Adding back # noqa to quota_driver import
And yet moar flake8 fixes
Last few flake8 changes, only H202s remain
Adding temporary # noqa to assertRaises

We need to go back and address this, by adding more specific exceptions to
the base code (i.e. the tests are not the problem). However, this is a hard
blocker currently, so putting it on the backburner for now.
Merge pull request #149 from insequent/pep8andflakefixes

Removing pep8/flake reqs in test-reqs
Merge pull request #150 from asadoughi/alembic_updates_fix_6804

Fixes alembic migrations for RM6804
Fixes #151

Makes all MAC address range operations admin-only. Additionally, moves
the one admin-only check in the API extension into the plugin module to
make it more easily testable.

Finally, moves a brace in nvp_driver because the latest version of
flake8 after a venv rebuild inexplicably decided said brace was visually
indented incorrectly. We should probably pin the flake8 version, but we
can do that in a separate patch.
Merge pull request #152 from Cerberus98/master

Fixes #151
Setting is_visible to False for bridge

RM #4893
Setting is_visible to False for ipam_strategy

RM #4892