updated maxflow algorithm

1. make it non-destructive for cap
2. support mutiple maxflow call on same graph object
3. make it incremental