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.