Fix the poor performance in network writing

The poor performance is hit when there is only one active port with a
big packet (> 64k bytes) to write. The network driver will split the
packet into 32k chunks, and only send the first chunk before returning
RD_PEND. When N_wait checks for signals from this port, it sees no
signal (write is not done yet), and thus the wait time is doubled, and
OS_Wait is called.

In OS_Wait, default Poll_Default is called, which goes through all
pending requests for the device. Because the packet is so big, after a
second "write", the packet is still not sent completely, and the status
remains the same: DR_PEND, which causes Poll_Default mistakenly thinks
the device is inactive, and then OS_Wait starts waiting with the doubled
wait time. The wait time could get doubled further until its max if the
packet is quite big.

The fix is in two folds:
1. Introduce a new flag RRF_ACTIVE, to mark the request as active in
case that partial data is written
2. Modify Poll_Default funcntion to check RRF_ACTIVE in
addition to the current DR_DONE/DR_ERROR.

So when the data is partial written, Poll_Default will return "TRUE",
which causes OS_Wait to return immediately, no matter how long the "wait
time" is.