Feasible tree: save reversed state and edge weights

@solleks

I'm trying to do a little bit of cleanup to rank so that I can get in changes to the rank algorithm for clusters. I still haven't had a chance to completely wrap my head around network simplex. I hope to do that by going through the graphviz doc and adding some tests cases.

If you have some time, could you take a look at the code below and make sure I've got the gist of what you're doing in setCutValue, enterEdge, exchange? I want to remove the graph's edge id from feasible tree because it's arbitrary - there may be more than one edge between the two nodes. Instead, I save info about the direction (e.g. reversed) and I also info about the weight. The latter should allow us to further optimize the results coming out of the network simplex.