Remove required length from buffer_tostring.

o Adds new buffer_tolstring which matches the old function.
o buffer_tostring is now a macro calling buffer_tolstring.
Convert to new buffer_to*string behavior.

o When second parameter is NULL, use buffer_tostring.
o When second parameter is not NULL, change name to buffer_tolstring.
Update test case for buffer_to*string.
Merge pull request #574 from batrick/buffer-tostring

Buffer tostring