my/zonefile: treat a second SOA as EOF

some ZFAs (e.g., .name) strangely terminate the zone file with a second
SOA, which is technically invalid per IETF and ICANN specs. add a
workaround for these broken zone files by treating a second SOA
encountered in zonefile_read() the same as EOF.

it's not necessary to actually close the FILE object in zonefile_read()
on EOF. this is performed in zonefile_destroy().
my/my_alloc: add my_free macro
my/my_alloc: add MY_ALLOC_WARN_DEPRECATED stuff wrapper functions for calloc, malloc, realloc
my/vector: free -> my_free
my/vector: mark all generated functions with the 'unused' attribute

according to the gcc documentation,

    unused

        This attribute, attached to a function, means that the function
        is meant to be possibly unused. GCC does not produce a warning
        for this function.

this makes sure the functions generated by VECTOR_GENERATE() don't
trigger -Wunused-functions diagnostics when compiled.
my/hex_decode: don't allow use-after-free in error path

in the error case, where the input passed to hex_decode() is invalid,
make sure we don't allow a stray pointer to escape via the 'raw'
parameter-return value. this prevents use-after-free() in callers.