openflow: Add spanning_forest component
openflow: Add spanning_forest component

This adds the spanning_forest component, which is intended as a
replacement for the spanning_tree component.  It's not an exact
replacement, though.  The overall behavior is somewhat different
(though hopefully much better).  One specific difference is that
it doesn't currently support dynamic topologies: it handles links
going up and down, but not changing what a given port connects to.

It started life on noxrepo/pox#139

noxrepo/pox,MurphyMc/pox,noxrepo/pox,MurphyMc/pox,MurphyMc/pox,noxrepo/pox,MurphyMc/pox,MurphyMc/pox,noxrepo/pox