Try some possible penalties for the congestion caps in the capacity calculator
This implements some basic penalties for the congestion caps, and adds options for configuring them via the router.config
file. These new capabilities allow I2P routers that are well-behaved to avoid making connections to routers which are overloaded. Congestion caps are broadcast with the RouterInfo to the netDB, and routers implement "Handling" to avoid requesting too many tunnels through congested routers. By default, routers that are reporting severe congestion will be avoided when building tunnels. Mild to moderate congestion is more complicated to handle. We should try and avoid the routers that are reporting mild-to-moderate congestion, but not so much that they no longer receive any new transit tunnels if the network is experiencing higher-than-average traffic. We can make some educated guesses about what the values should be, but there's no substitute for experimentation so this also adds a way to adjust the congestion cap values without recompiling/restarting the router.