Add a fifo to buffer collected data when the server is not available

This commit adds a `BoundMetricsFifo`, that has a certain capacity to store metrics. When it gets full, old ones are evicted.
The `RestForwardingHandler` makes use of this fifo to buffer data and only removes metrics from the fifo, when the http response code of the server is 200 or 204