Clean up the string functions

This is the cleaned version of the string functions, there is no necessity for an assembly version if it is provided by the libc.

It avoids two evaluations of src in util_strpcpy clean (one in strlen and the other in mempcpy) and shortcircuits the case when size is 0 so the if afterwards can be cleaner. 

It also cleans the implementation of util_strscpy and util_strscpyl by passing a reference to the copy of the pointer already passed as argument.

It introduces util_strpcpyv so the main loop into util_strscpyl and util_strpcpyl can be merged.

It shortcircuits the cases when size is 0.

It fixes a buffer overflow in util_strpcpyf

It finally ensures the MIT license of murmurhash2 is respected by adding the copyright marking.