misc. fixes for zip stuff

1. Don't use the inappropriate free function in zip format.

2. Don't free memory which will be freed later on in zip format.

3. Use correct free function in zip2john.
factor out struct tcphdr

that struct is unportable (neither C nor POSIX) and depends on
glibc specific hacks to get the right definition anyway,
so it's better to provide our own copy.
fixes build on musl libc.
Makefile: allow JOHN_LDFLAGS

there's JOHN_CFLAGS to add custom CFLAGS, so do the same for the
LDFLAGS.
tcphdr.h: remove unneeded typedef
Merge pull request #246 from kholia/zip-fixes

misc. fixes for zip stuff
Merge pull request #253 from rofl0r/johnldflags

Makefile: allow JOHN_LDFLAGS
Merge pull request #248 from rofl0r/tcphdr

factor out struct tcphdr
tcphdr.h: special-case endian.h for mac/bsd
Merge pull request #256 from rofl0r/tcphdrfix

tcphdr.h: special-case endian.h for mac/bsd
JtR-Dynamic_validation_raw_hashes.patch