Use autoconf for _GNU_SOURCE.
Fix unwind aliasing and provide ec_throw_strf(...).

The way that struct ec_winding was declared using ec_unwind_f permitted the
compiler to optimize out the assignment if the function passed to ec_with was
cast. The fix is to not use the typedef in the definitions and only provide it
for convenience.

Second, this provides a convenience macro for asprintf if it is provided.