reimplementation using openflow.async backend

This library is really out-of-date. It depends on a very old version of ocaml-openflow, which is no longer supported. So this commit reimplements the library using the openflow.async library, which is current and supported.

Verified to work with on the repeater examples in Chapter 2 of the old Ox tutorial.

Closes #1
Closes #4