Extend ofp_client:replace_connection/4 with Role argument.

This API function is used to change switch configuration beyond the
OpenFlow channel. Particularly it can be used to change a controller's
role through OF-Config.

(Motivated by FlowForwarding/LINC-Switch#305).
Refactor ofp_client_tests

Adds some refactoring by the way.

(Motivated by FlowForwarding/LINC-Switch#305).