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
>
> No specific reason.
> Is option -F available in all grep versions out in the field?
>

GNU grep has it.
Darwin grep as well: 
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/grep.1.html

@%*# Solaris :)