OFStateManager: convert duplicate flow-add to modify

Previously we deleted existing flows when the controller added a new one with
the same match and priority. This was incorrect for a couple of reasons. First,
the OpenFlow 1.3 spec says that stats should be preserved and flow-removed
messages should not be generated for this case. Second, if an error occured
adding the new flow then the switch would end up in a state where neither flow
is present. Finally, doing a delete followed by an add can cause brief traffic
loss.
Merge into master from pull request #110:
OFStateManager: convert duplicate flow-add to modify (https://github.com/floodlight/indigo/pull/110)