Refactor functions in ofp_client and spec in of_protocol:decode/2

After review it turned out that some functions associated with version
negotiation in ofp_client need refactoring.
Spec of of_protocol:decode/2 also needed update.
(Motivated by FlowForwarding/LINC-Switch#136).