added BipartiteWeightedGraph with tests from unweighted version