topo: add probe packet

These packets are used to discover switch topology. For every new live
port on a switch (all of them when the switch comes up) a probe packet
will be set out that port. Its payload contains the originating switch
id and port id. The receiving switch will have a rule installed that
will will send packets with the protocol number 0xFA up to the
controller. From that packet in message and the packet payload, the
controller can determine which ports are connected to each other.
topo: implement switch topology discovery
topo: add topology discovery stage to of_10 controller
topo: add logging
topo: add example program to exercise topology discovery