Reimplement `astr_alloc_formatted_from_va_list()`. Drop the need to call `vasprintf()` and change the implementation of `astr_alloc_formatted_from_va_list()` to call `astr_realloc_append_formatted_from_va_list()` with a `NULL` string pointer. Update the readme and man page and remove the check for `vasprintf()` from the configure script.
Stop generating the `config.h` header. Remove the line: AC_CONFIG_HEADERS([config.h]) from `configure.ac` to suppress the generation of the unused `config.h` header and speed up configuration.
Remove unnecessary tests from the configure script. Since C99 is required, drop these redundant Autoconf tests: AC_HEADER_STDBOOL AC_CHECK_HEADERS([stdlib.h string.h]) AC_C_INLINE AC_TYPE_SIZE_T These tests don't prevent configuration and building of the source; they simply define symbols in `config.h`, which isn't used.
Remove configure check for `vsnprintf()`. This is probably unnecessary since C99 is already required.
Add configure checks for `vasprintf()` and `vsnprintf()`. Modify the configure script to check for both these functions and to halt configure with an error if either one is missing.
Added initial source, build system and tests. Created library source files `astr.h` and `astr.c`, adding the initial library function `astr_alloc_empty()`. Created test source file `astr_tests.c` with a test for `astr_alloc_emtpy()`. Ran `autoscan` to create initial `configure.ac` file and added additional checks. Also added `Makefile.am` with targets to create both `libastr` and `astr_tests`. Updated `.gitignore` with Autotools generated files and directories. Updated the readme with instructions to run `autoreconf` to regenerate the build system.