Update khash.h from upstream sources

Attractivechaos/klib's 0.2.8 version includes quadratic probing.
Update kstring.[ch] from upstream sources

This attractivechaos/klib version includes error checking for memory
allocation and bug fixes for kputw(INT_MIN) and kputl(LONG_MIN).
Bug fix to handle blank headers in SAM files

Ensure str.s is an empty string rather than NULL, as it would be when
nothing has been added to it (e.g. as there were no headers at all).
Bug fix to stop sam view from converting 'H' into 'Z' types.
Use strtoul instead of strtol for XX:B:I tags so that integers >2.14 billion work.
Use strtoul() for other unsigned 'B' types too

Also reiterate why there's no byte swapping here, for new readers.