tests: add keywords to the last 7 tests lacking them
runtests: insist on a <keywords> section

Since all present tests now have <keywords> listed, this script will now
refuse to run a given test case if no such section is provided.
Hopefully this will help us make sure new test cases get keywords added
at start.
tests: added some missing closing tags
tests: unified use of some keywords
http2+openssl: fix compiler warnings in ALPN using code
ftp: in passive data connect wait for happy eyeballs sockets

When doing passive FTP, the multi state function needs to extract and
use the happy eyeballs sockets to wait for to check for completion!

Bug: http://curl.haxx.se/mail/lib-2014-02/0135.html (ruined)
Reported-by: Alan
HTTP: don't send Content-Length: 0 _and_ Expect: 100-continue

Without request body there's no point in asking for 100-continue.

Bug: http://curl.haxx.se/bug/view.cgi?id=1349
Reported-by: JimS
CURLOPT_PROXYHEADER: set headers for proxy-only

Includes docs and new test cases: 1525, 1526 and 1527

Co-written-by: Vijay Panghal
CURLOPT_HEADEROPT: added

Modified the logic so that CURLOPT_HEADEROPT now controls if PROXYHEADER
is actually used or not.
symbols-in-versions: Added CURLHEADER_*

... and sorted the list
curl: add --proxy-header
curl.1: documented --proxy-header
test1428: verify --proxy-header
PROXYHEADER: send these headers in "normal" proxy requests too

Updated the docs to clarify and the code accordingly, with test 1528 to
verify:

When CURLHEADER_SEPARATE is set and libcurl is asked to send a request
to a proxy but it isn't CONNECT, then _both_ header lists
(CURLOPT_HTTPHEADER and CURLOPT_PROXYHEADER) will be used since the
single request is then made for both the proxy and the server.
docs: this is for 7.37.0

And clarify for curl that --proxy-header now must be used for headers
that are meant for a proxy, and they will not be included if the request
is not for a proxy.
curl_easy_setopt: fix wrong version number references