modified MERGER implementation to create tag for individual flows and new tag when same set of trees splits

the old behavior was correct for primary trees but would force changes to unaffected trees during recovery.  new tags are introduced when the same merge-set branches, because this allows backup trees to reuse these tags without forcing a change to the merge-set trees
mid-Merger development for backup trees.  able to traverse backup trees and mark edges used.  BFS works to set up tag indexing
commit before moving to Merger algorithm that applies a tag at u if all trees have the same out-links at (u,d)

major refactoring.  created a copy of multicast.py in bak directory
tag indices for refactored Merger (tagging upstream) is implemented

next step is to actually create the rules
tests Merger algorithm.

was unable to get this working as a Python unit test because requires the launch function.
merger test now checks the count at each node of the number of matches and number of actions
create the ofp_rules to install in the network, using the tagging indices