tool_getparam: Added initial support for --next/-:

Added initial support for --next/-: which will be used to replace the
rather confusing : command line operation what was used for the URL
specific options prototype.
tool: Reworked argument parsing to use --next/-:

Follow up to commit 1a9b58fcb2 to replace the : command line option
with --next and -:.
tool: Added support to .curlrc for URL specific options

In addition to adding support for URL specific options via the command
line with --next it is now possible to specify "next" in .curlrc.
tool_cfgable: Added GlobalConfig pointer to OperationConfig

In order to ease the moving of global options such as the error stream,
updated the OperationConfig structure to point to the GlobalConfig.
tool: Moved --silient to the global config

Other global options such as --libcurl, --trace and --verbose to
follow.
tool_main: Forgot to initialise the first operation's global pointer
tool: Moved --trace and --verbose to the global config
tool_cfgable: Code policing of structure pointers
test96: Updated accordly for recent changes
tool_main: Fixed a memory leak on main_init error
http2: build with current nghttp2 version

nghttp2 has yet again extended its callback struct and this is an
attempt to make curl compile with nghttp2 from current git
Fix bug that HTTP/2 hangs if whole response body is read with headers

For HTTP/2, we may read up everything including responde body with
header fields in Curl_http_readwrite_headers. If no content-length is
provided, curl waits for the connection close, which we emulate it
using conn->proto.httpc.closed = TRUE. The thing is if we read
everything, then http2_recv won't be called and we cannot signal the
HTTP/2 stream has closed. As a workaround, we return nonzero from
data_pending to call http2_recv.
transfer.c: Fixed non-HTTP2 builds from commit cde0cf7c5e
tool: Moved --stderr to the global config
tool: Moved --progress-bar to the global config
tool: Moved --libcurl to the global config
tool_operate.c: Fixed compilation error

incompatible types - from 'OperationConfig *' to 'GlobalConfig *'
tool: Moved internal variable isatty to the global config
tool_metalink.h: Fixed compilation warning

warning: declaration of 'struct GlobalConfig' will not be visible
outside of this function
tool: Fixed libcurl source output for multiple operations

Correctly output libcurl source code that includes multiply operations
as specified by --next. Note that each operation evaluates to a single
curl_easy_perform() in source code form.

Also note that the output could be optimised a little so global config
options are only output once rather than per operation as is presently
the case.