Avoid fixed size buffer in VG_(basename) and VG_(dirname). Instead
dynamically allocate it.

An alternative would have been for the caller to provide a large enough
buffer which can always be done because the length of the basename and
dirname is always smaller than the length of the path we're starting
out with. But it leads to some clumsyness on the call side:

len = strlen(path) + 1;
HChar buf[len];
VG_(basename_(path, buf, len);

And we'd still had to check that we don't write more than len characters
into buf.


git-svn-id: svn://svn.valgrind.org/valgrind/branches/BUF_REMOVAL@14203 a5019735-40e9-0310-863c-91ae7b9d1cf9