bug with incomplete read() call

See also issue #43 of seqtk
Merge branch 'master' of github.com:attractivechaos/klib
Simplify 8d8d1a19f0c69b53d5ed8d9f6592dfa4b91c23f3 code changes
Fix ks_getuntil2() extra empty record at EOF bug

When the stream is an exact multiple of the buffer size, ks_getuntil2()
was returning a final empty record when it should have returned -1.
Fixed by moving the "EOF => return -1" check to after the read loop.

(See samtools/samtools#318 for an example of an error caused by a
spurious empty line at the end of a SAM file.)
Merge pull request #39 from jmarshall/kseq-eof

Fix ks_getuntil2() extra empty record at EOF bug
default to following redirect & no SSL certificate
give kh_##name##_t a struct name
A light-weight JSON parser
added a bit error checking
rename brackets
bug for empty []/{}; check extra left brackets
improved comments a little
code cleanup
added API documentation
added deallocator
fixed compilation error in the last commit
simplified API a bit
no effective changes
isblank() -> isspace()
added JSON query