opam-street: use cached .opam

Rather than rebuilding the Jane Street libraries and cstruct for each
build, this commit will use a pickled .opam directory containing those
prebuilt libraries and copy that in place.

This has been tested using seliopou/frenetic.

See seliopou/opam-street to see how the picked opam is created.
topo_api: Compatibility changes for new ocaml-topology API

ocaml-toplogy no longer uses VInt.t for anything, so some manual
coercions can be dropped, while other need to be added.
Merge pull request #241 from frenetic-lang/opam-street

use cached .opam
Merge pull request #242 from frenetic-lang/topo_api

Compatibility changes for ocaml-topology
switch_id: consistently use SDN_Types.switchId

Various other equivalent types were being used in its place, including
VInt.t, SDN_Types.fieldVal, and SDN_Types.header_val.
switch_id: use int64 for for switchId

Switch ids are 64 bits across versions, so just use that.
Merge pull request #243 from frenetic-lang/switch_id

 Use int64 for switchId type
renamed par -> union
Merge pull request #245 from frenetic-lang/par-to-union

renamed par -> union