Eliminate VInt from pubic API

This pull request eliminates `VInt` from the public API of ocaml-openflow. In order to achieve this the pattern representation exported by `SDN_Types` module now uses a record that makes the presence or absence of fields explicit using an `Option.t` type.

The `VInt` module remains as an internal module, as it's occasionally useful for some casting operations. In the future, it may be worthwhile to eliminate this entirely.

**NOTE**: This pull request should not be merged until a corresponding pull request has been issues against frenetic-lang/frenetic. That pull request is currently a work in progress.