Working on reactor.

- Implement event subscription.
- Refactor the reactor/handler relation so we don't pass
  reactors all over the place.
- Update the handler life-cycle for reactor-owned
  handlers
- Remove on_open, on_close events (use ctors, dtors).
- Removed reactor dependency in hanlder registry and
  timer queue.
Fixing build errors form reactor changes.
Initial implementation of acceptor.
Initial implementation of the connector pattern.
Re-adding open/close events.
Working on acceptor/connector.

Adding test directories.
Adding a timer test.

Fix initialization bug in handler that was causing flags
to have indeterminate value.
Working on acceptor/connector.

- Fix the connector.
- Implement syncrhonous connection (not tested).
- Fixing dtor ordering bug with reactor/handlers where
the reactor would call destroyed objects.
Changing shutdown semantics.

- When reactor's run() stops, outstanding handlers are
  removed.
- The shutdown() function is renamed to remove_handlers().
Implement reactor time slicing.

- Add a new overload of run() that takes a specified duration.
- Rewrite previous run() in terms of new overload.
Stubbing out pretty printing facilities.
Fix template mistake.
Renaming nbi to sdn.

Updating build to reflect rename.
Fix template mistake.
Stubbing out domain stuff.
Adding port manager, stubbing out port support.
Stubbing out listeners, etc.
Stubbing out printer interface.
Merge branch 'master' of https://github.com/flowgrammable/freeflow into mmiller/pprint
Basic types printing functionality.