Windows: link libgcc and libstdc statically

MinGW builds require static linking to libgcc and libstdc++ in order to
run natively on windows without additional DLL installation.
Bug 4024: Bad host/IP ::1 when using IPv4-only environment
Cleanup: drop MemBuf.cci

Inline the code previously contained in MemBuf.cci.

Also, cleanup MemBuf.h TODOs.
Bug 3803: ident leaks memory on failure

Begin the process of conversion for IdentStateData to an AsyncJob.

* convert the object from CBDATA struct to a class with
CBDATA_CLASS2() API.

* Bug 3803 is caused by a lack of proper cleanup and consistent exit
actions terminating the job. Take the core logic changes from the
tested bug patch and;

 1) define a swanSong() method to cleanup the memory allocated

 2) define a deleteThis() method to emulate AsyncJob::deleteThis()

* Locate all code paths leveraging conn->close() to trigger cleanup
via the connection close handler and convert to explicit deleteThis()
with excuse. Including a few which were not but need to in order to
terminate the job correctly as fixed in bug 3803 patch.

The actions performed are nearly identical to the original code. The
differences are that many code paths now omit an AsyncCall step going
via the Comm close handler, and that all paths terminating the IDENT
lookup now go through swanSong() cleanup.


Further cleanup converting to a full AsyncJob is not included, since
there is an explicit hash of running IdentStateData object pointers
being used in the old code.
Release Notes update for 3.4
Prep for 3.5.0.1
Release Notes for Squid-3.6
Release Notes for Squid-3.6
Docs: typo in logformat
Docs: update CONTRIBUTORS from 3.5 commit log
Fix Release Notes typos for 3.5
Boilerplate: update release script COPYRIGHT file action
kerberos_ldap_group/cert_tool: Remove ksh dependency

Shell scripts published with Squid should be POSIX neutral. Replace the
ksh-specific syntax with portable POSIX shell.
Enable long (--foo) command line parameters on squid binary

The squid binary is running out of single-character options that make
any sense phonetically or as abbreviations. This lays the groundwork for
future options to use words or even just more than a single character.

Since we cannot define an empty array for long options, add --help and
--version as initial expansions of -h and -v.
Fix typo in squidclient.1
Bug 4102: sslbump cert contains only a dot character in key usage extension

The patch for bug 3966 was slightly incorrect. As a result the Key Usage
field for SSL-bump mimic'ed certificates could end up containing only a
dot (.) character.
Cleanup: Simplify MEMPROXY_CLASS_* macros

There are no logical changes in this patch.

* Make MEMPROXY_CLASS() macro inline its definitions.

* Remove MEMPROXY_CLASS_INLINE

* Remove last remaining mention of obsolete MEMPROXY_CLASS_INIT

* Adjust MEMPROXY_CLASS() to control its private/public definitions
  appropriate to their needs.

* Shuffle all MEMPROXY_CLASS() macro uses to the top of the relevant
  classes (in some cases renaming struct to class with public members
  if necessary) such that the new terminal private: does not affect
  existing class definitions.
Fix typo in cbdata.cc
Enable flexible transport protocol in Server hierarchy

We are quickly approaching a time when a client connection can freely
migrate between protocols or versions of protocols. Already we have
ssl-bump which can switch a connection from HTTP to HTTPS. We are also
expecting switching HTTP<->HTTPS via Upgrade, and HTTP/1<->HTTP/2 via
"magic", Upgrade, or ALPN.

Based on ssl-bump experience with switchedToHttps() and the pain that
can be predicted when there are several permutations of such accessors
to test against make the Server class aware of what transfer protocol
is in use at whatever the 'top' layer of the protocol stack is.

* Add a transportVersion member to ConnStateData which holds the current
  protocol to be used over the clientConnection socket. This variable can
  be altered whenever necessary to cause an on-wire protocol change. New
  connections default to the protocol signalled in the http(s)_port directive.

* ssl-bump transforms the transportVersion from whatever it was
  previously (usually HTTP or HTTPS) to HTTPS, and back to HTTP is splice
  action is performed.

* transparent and reverse-proxy URL reconstruction is updated to use the
  new member instead of the http(s)_port protocol= setting. This removes
  edge conditions where the URL reconstructor needs to figure out ssl-bump
  existence.
Drop dead code HttpStateData::ReadReplyWrapper()