bugfix: ensure resetting the skip pointer when shifting the data back to the beginning of the buffer

and ensure returning from the short path if the buffer is big enough and doesn't need
to be extended once the data has been shifted back
cleanings + dropped the dependency from hv_func.h

the one_at_a_time implementation has been imported and a random seed is being
used for each table. There is no more need to use hv_func.h and to use the perl macros.

More hashing function can be easily imported/implemented if necessary.

also replaced the get/set list macros with equivalent static inline functions
test the skip-pointer functionality/behaviour triggered by fbuf_remove()