Catch realloc returning NULL
ungetc guaranteed for AT LEAST one char; fixed BUG in buffer_append_str;

1. `in` buffer reads into position 1 so ungetc always works for at least one char
2. Fixed DEBUG flags in Makefile
3. Fixed memory leaks in strbuf_test.c
4. Fixed BUG in buffer_append_str