Actually make BIO_set_tcp_ndelay() work - TCP_NODELAY will not magically
appear by itself.

ok beck@ miod@
Replace 48 lines of code with a single inet_pton() call. The previous
handrolled version could not even make use of sscanf(), since that would
not work with a certain antiquated compiler.

It is worth noting that there is a tiny change in behaviour - previously
calling BIO_get_host_ip() with something that looked like it might be a
valid IP address (for example, "1." or even ".") would result in it
returning failure rather than trying a BIO_gethostbyname() - now we'll
always try a BIO_gethostbyname() if it was not a valid IPv4 address.

ok beck@ miod@ deraadt@
Some KNF.
Extend the chacha regress to cover the ChaCha interface, in addition to the
single-shot CRYPTO_chacha_20() interface (the ChaCha interface was already
tested via the EVP regress, but not extensively). The additional ChaCha
tests include single-shot writes, along with partial/single-byte writes
that currently fail due to a bug in the underlying implementation.
If a chacha operation does not consume all of the generated key stream,
ensure that we save it and consume it on subsequent writes. Otherwise we
end up discarding part of the key stream and instead generate a new block
at the start of the next write.

This was only an issue for callers that did multiple writes that are not
multiples of 64 bytes - in particular, the ChaCha20Poly1305 usage does not
hit this problem since it performs encryption in a single-shot. For the
same reason, this is also a non-issue when openssl(1) is used to encrypt
with ChaCha.

Issue identified by insane coder; reported to bugs@ by Joseph M. Schwartz.

ok beck@
Crank libcrypto major since my previous commit changed the size of the
ChaCha context. Other changes will also ride this crank.
sync