Added some methods to the graph class
Implemented the push-relabel algorithm

The solve_max_flow() function will solve the maximum flow problem for
the given graph (edges must have a capacity attribute) and start and
target node using the push-relabel algorithm.