Added the function reset_buffer(NetworkBuffer* buf)
The function 'reset_buffer' allows to reuse the same buffer. There have been other minor changes, like for example the use of unordered_map instead of map as a type for 'm_previous_tag'; this should be much faster without any drawbacks.
Added a unit test that checks if the buffer is reused correctly.