Fix branch rotation in BO3s

The rotated branch should get a new set (see line 49 in BranchFunction).

- Also did some minor changes to BranchNode: as it is an implementation
detail of BO3s, it's moved to the bo3 package. It also directly
implements Comparable now.
- The name of the WeightedBranch function no longer depends on the name
of the Branch function.