Rename ofp_client:repalce_connection/5 to update_connection_config/2.

The new name is more meaningful as the connection is not always
"replaced". If one only changes only the controller's role there's
no need to reestablish the connection. The function also has less
arguments.

(Motivated by https://github.com/FlowForwarding/LINC-Switch#319).
Implement updating OF client connection (IP, port, protocol, role)

This commits introduces functionality that is expected from
ofp_client:update_connection_config/2 API function. It also introduces
test cases (however changing protocol is not covered).

Terminating connection and reconnection is improved in this commit too.

(Motivated by https://github.com/FlowForwarding/LINC-Switch#319).
Add controller_role type

Note, that it's different from ofp_controller_role that is used
in role requests. Added type is for specifying internal controller's
role.

(Motivated by https://github.com/FlowForwarding/LINC-Switch#319).