Fix so that operational store correctly removes controller entries
Before, if a controller entry was removed on ovsdb, we didn't
remove it from the operational store.
This is an artifact of using *merge* rather than *put*.
Using merge is *still* a good idea for us, but what was happening
was basically this.
Say we got a report in the operational store of
[controller1, controller2]
which we dutifully merged.
Then we got a report of
[controller2]
when that is *merged*... the controller1 entry is left dangling,
because its a *merge*. To compensate, we have to be *very*
specific about wanting to remove controller1.
This is accomplished by factoring out an OvsdbControllerUpdateCommand
and OvsdbControllerRemoveCommand.
Change-Id: I2e38e0e175cef5f848f28501cfaeecc1cb162151
Signed-off-by: Ed Warnicke <eaw@cisco.com>