Moves ipam deallocs out of the parent transaction

The previous commit fixing the db deadlock issue also removed all usage
of the subtractions key on session usage. As such, the subtransaction
for deleting macs and ips no longer function correctly under the
  delete_port case. This commit moves all but the actual db port
  deletion out of the parent transaction, allowing the IPAM
  deallocations to function on their own.
Merge pull request #67 from Cerberus98/master

Moves ipam deallocs out of the parent transaction
Merge pull request #66 from asadoughi/master

Fix non-deterministic error in unit test
formatted ip returns ipv6 as verbose

with full zeros listed