Add exponential moving average helper function.
Iterative exponential moving average calculation.
Properly implement congestion control.
Save remote window size.
Refactor congestion timeout update.
Fix argument passed to update_congestion_timeout.
Don't exceed the remote peer's receive window.
Merge branch 'congestion_control'