[RFC] Replace vim_strncpy with strlcpy

> Yeah, the first could be a DLOG suggesting memcpy/stracpy. The second case a WLOG and the third a DLOG as we (I?) are somehow worried that the codebase relies on strncpys zero-filling behavior.

I agree with the sentiment. There are probably also cases we can't easily detect from inside `xstrlcpy`. Such as when the passed-in `size` argument is actually smaller than the buffer, which probably indicates that the truncation was deliberate and the user just wanted to copy a substring (which would indicate that stracpy is more appropriate). 

However, to be able to quickly track down these callsites, we'd have to macro'ize xstrlcpy or make some sort of macro hiding the xstrlcpy symbol (otherwise it'll be difficult to find where it came from). Not sure which is more doable (or even preferable).

Another thing is that there are of course many perfectly legitimate uses of xstrlcpy (more than there are legitimate uses of strncpy), and by logging everything like that we'll fetch a lot of false positives.

I worry about the zero-filling behaviour too, but what we don't even have full coverage let alone a broad spectrum of input strings in the tests. I hope I'll come up with some way to be (more) sure.

> By separating the cases like this I can turn off debug level messages in the nvim that I use for everything (yep, I install nvim's Debug build on my system).

I'll also be able to do this once Python support is up-and-performant. I've regrettably become addicted to vim-easytags, who's vim implementation is one billion times slower than its python implementation, making me unable to edit documents.