lib/safe_macros: Split and add SAFE_ASPRINTF()

Split the safe macros into safe_macros.h and safe_stdio.h as the safe
macros header started to be too big. There is also second reason for the
split, as asprintf() requires _GNU_SOURCE defined so this helps keep the
definition only inside of the safe_stdio.c file which affects only
functions in the file and has easily foreseeable effects.

Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
kernel/firmware: Make use of SAFE_ASPRINTF()

Signed-off-by: Cyril Hrubis <chrubis@suse.cz>