Ensure that identical requests are handled in FIFO order

If more than one client sends a request with an identical header then the
responses were served to them in the order of the network's client array.
This is not correct and can result in wrong response routing. For example:
Two clients call the servo_is_enabled() function on the same Servo Brick.
Client A calls it for servo 1 and client B for servo 2. Servo 1 is enabled
servo 2 is not. So Client A should always get a true response and client B
a false response. But if the two clients happen to send a request for this
function with the same sequence number then this requests are identical to
brickd. brickd resolved this by serving the first client in the network's
client array with the first response, even if the response was actually
meant for the other client.

The Servo Brick answers requests in their arrival order. If client 2 sends
its request before client 1 then the first response has to go to client 2.
To realize this brickd has to keep track of the global order of requests
and serve identical request in FIFO order.

To do this the pending request tracking is changed from a per client array
to a global double linked list. New requests are appended to this list and
the search for a matching pending request begins from the head of the list.
This ensures FIFO handling.

Each client also keeps track of its pending requests in its own linked list.
This allows to enforce an upper limit for the number of pending requests
per client. It also allows to easily remove unsatisfied pending requests
from the global list on client disconnect.
Some minor style and log message cleanup
Add node test
Fix corner cases in pending request handing

Don't add requests as pending if they are dropped, because they came
from an non-authenticated client.

Ensure that pending requests are removed from the list in all cases
if a matching response arrives. Before, pending requests were not
correctly removed from the list if they arrived after the client got
already disconnected or if the client was not authenticated.