Update ofp_channel.erl

When a packet_in message is being sent, the list of controllers is retrieved using ets:lookup().
send_to_controllers() operates on this copy of the list of controllers. One of the controller
connections closes (line with tcp_closed). The corresponding Pid is removed from the ETS
table but not from the copy of the list. Message sent to the closed channel throws an
exception. The wholesale restart of the switch ensues.

The cause of the above is keeping the list of controllers in a ETS table. Much more natural
approach is to keep the list of the controllers as a part of a process state. Then that process
will either change the list of controllers or broadcast messages to them effectively serializing
dependent operations.

The band-aid solution is the attached patch.

If there are several controllers and a constant flow of packet-in messages, hitting this bug when the controller connection closes is likely.
WIP
Add new tests; add sending role status