Network simplex ranking, second attempt

Here is the revised version of network simplex ranking.  Sorry for the bug in the last pull request.  The code now correctly adjusts the rank property after computing new feasible trees.

Testing on 4914 directed graphs from the North dataset showed that simplex ranking changed the rank assignments in 1192 cases.  There is now a test case for a small example where simplex ranking improves the edge length sum in rank-simplex-test.js.

Please let me know if you have any questions or comments.