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.
Pretty sure the sqlalchemy orm stuff freaks out if there's not at least one primary key defined. Not sure it's as easy as removing it.

I'm torn on overlapping mac ranges. They're not like subnets that can be hidden/NAT'd what have you, so you can't actively hide them from one another. Deliberate separation choices have to be made if you actively overlap one mac address with another one, in that they can never meet on the same network. But I understand that physically isolating your devices is an implementation decision, so if we're concerned about making it on their behalf I'm open to the conversation. I personally don't think they should be allowed to overlap, however.