Functions to append/prepend with printf formatting

Add buffer_appendf and bugger_prependf to allow the
user to append or prepend a string formatted with
printf-style syntax.

Fixes #3
Good point. I don't like the idea of adding a dependancy to `buffer` – I might make a new `clib` that adds this functionality and pulls in the `vasprintf` shim. Thoughts?