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.
Can you explain the switch to the two phase approach?  Would it be easier to stick to 1 phase approach so we are sure the streams we "allocate" for are sent (using the same conditions)?  Also wouldn't this reduce the number of loops we need to do over the streams?