host: Make existing Nib.State functions endpoint-specific

Switches and hosts must be treated differently, so give them different
functions. Start by making all the existing functions (that only really
contemplated switches to begin with) specific to switches.
host: make Nib.Protocol handler switch-specific

In preparation for host discovery, make the current handler name
indicate that the functionality is specific to probes and switch
discovery. Host discover will be implemented as a separate handler.
host: implement host discovery

Send ARP packets to the controller and infer from them where hosts are
attached to the network. This system assumes that the entire network is
under the management of the controller.

The implementation does not respond to any ARP requests. It simply
records information contained in them, and forwards the PACKET_IN event
to stage above.
host: add host discovery stage to of_10 controller
host: Expose all topology stages in module interface
Merge branch 'master' into host

Conflicts:
	async/Async_OpenFlow.mli
Merge pull request #94 from frenetic-lang/host

Add support for ARP-based host discovery