Fix bug in HTTP/2 outbound flow control

Motivation:

The outbound flow controller logic does not properly reset the allocated
bytes between successive invocations of the priority algorithm.

Modifications:

Updated the priority algorithm to reset the allocated bytes for each
stream.

Result:

Each call to the priority algorithm now starts with zero allocated bytes
for each stream.
Couldn't we send under the following conditions:
1) in "optimization" `if(remainingInTree <= connectionWindow)` block
2) in the for loop if something was allocated and there is nothing left to allocate
3) outside the for loop (catch the case if connection window was exhausted) write everything from 0 to tailNextPass.

And possibly some other cases....