Add ids to timers.

This allows a single handler to register and differentiate
between multiple timers.

Make handler's on_time function take the timer id.
Stubbing out nbi module.
Stubbing out functionality.
Stubbing out functionality.
Cosmetic cleanups.
Moving reactor into freeflow/sys.
Restructuring the protocol impl.
Make feature req/rep different messages.
Making types for remaining messages.
Add static tags to messsages.
Working on protocol.
Reestablish heap invariant after canceling timer.
Reworking timers in OFP.
Merge remote-tracking branch 'origin/asutton/nbi'
Fixing build errors in controller.
Fleshing out freeflow's "native" NBI.
Weave the controller through nocontrol.
Start integrating nbi into the protocol.
Reworking version negotiation.

Incorporate the NBI switch as the primary cache for neogiated
information and capabilities.
Adding events to application.