First host implementation.

Hosts consist of two internal processes: monitor_outgoing_packets and
monitor_incoming_packets. These follow a passivate/reactivate framework
through the events send_packet and receive_packet, respectively. Note
that the host class itself performs the reactivations of its two
internal processes. Flows and links indirectly reactivate the internal
host processes through the send_packet and receive_packet API,
respectively.

Is this a suitable framework for process interaction? I like this better
than interruptions since one cannot pass objects through interruptions
(I think). If this looks good, let's commit to this model for future
process interactions.

Tests to follow upon implementation of environment, flows, and links.