NSX: Sync do not pass around model object

The NSX sync backend previously passed around a sqlalchemy model object
around which was nice because we did not need to query the database an
additional time to update the status of an object.

Unfortunately, this was add done within a db transaction which included a
call to NSX which could cause deadlock this needed to be removed. Now a
dict is passed around instead and proper transaction handling
is used when updating objects.

Change-Id: Id50abd8f2143b127d1ca81c360c1c6d400e1d74f
Closes-bug: #1281772
BigSwitch: Sync workaround for port del deadlock

Adds a synchronization barrier to the methods
that lock the port table to avoid the mysql
update-lock/eventlet-yield deadlock that occurs
with simultaneous port deletions.

Closes-Bug: #1292232
Change-Id: I8975a14a937a5843a0395ad7b599ebdc827565ed
Merge "NSX: Sync do not pass around model object"
Merge "BigSwitch: Sync workaround for port del deadlock"