Add a checkbox to the grid panel to specify support for HTTP pipelining.

Until this can be automatically detected, this allows us to specify
if pipelining is supported. By default support will be on on secondlife
and off on all other grids.
Renaming of AIPerService variables.

This commit renames:
AIPerService::mTotalAdded --> mTotalAddedEasyHandles
AIPerService::mConcurrentConnections --> mMaxTotalAddedEasyHandles
AIPerService::CapabilityType::mAdded --> mAddedEasyHandles
AIPerService::CapabilityType::mConcurrentConnections --> mMaxAddedEasyHandles

The idea is that without HTTP pipelining each added easy handle
corresponds to a connection, but with HTTP pipelining this is no
longer the case, so we have to rename these variables to reflect this.

Since these are the only variables that refer to number of easy handles
(per service), we can now grep for 'AddedEasyHandles' and get every
instance where the code possibly needs changing to support correct
limits with HTTP pipelining support enabled.
Add debug setting CurlMaxPipelinedRequestsPerService

The maximum allowed total number of added easy handles per service
is much larger with pipeline support, so we need a second debug
setting next to CurlConcurrentConnectionsPerService for this.

This commit adds this new debug setting and propagates the per-grid
flag of whether pipelining is supported or not to
llmessage/aicurlperservice.cpp so that the maximum number of added
easy handles can be compared to either CurlConcurrentConnectionsPerService
or CurlMaxPipelinedRequestsPerService as a function of this pipeline
support.
W.I.P. on HTTP pipeline support.

Actually set CURLMOPT_PIPELINING on the multi handle.
Updated (mostly) comments with regard to *AddedEasyHandles.
This finishes the review of the per service part of the code,
and in fact, nothing really changed: the number of easy handles
were first limited by the maximum number of allowed connections
per service, and now by some other limit (CurlMaxPipelinedRequestsPerService).
Don't limit for global connections when using HTTP pipelining.

Most of this commit just renames "pipeline" to "unfinished" to
more clearly distinguish between HTTP pipelining and what I used
to call the "pipeline": requests from that they are approved
until they finish.

However, since with HTTP pipelining a new request doesn't cause
an extra connection, the total number of global connections are
not important anymore and this commit makes sure we won't refuse
a new request because the total number of active easy handles
becomes too large.
Fixed total number of connection limiting.

HTTP pipeline capable services on ever have one connection,
so this needed change. A lot of this commit is renaming variables
into something that better describes their meaning.
Add AIPerService::set_http_pipeline

Allows switching to and from http pipeline support (which basically
just changes the limits of the number of simultaneous requests)
for each service separately, on the fly.

Todo: start with mPipelineSupport off and then switch it on when
we see from the http headers that pipelining is supported.
Add remark that a relog is required.
Merge branch 'master' into httppipeline
HTTP pipeline bug fix.

Decrement the total number of approved/approved-queued non-HTTP pipeline
requests when the Approved object is (not_)honored; or else it will
run up till arbitrary high values, causing us to stop approving any
texture download.
Revert "Add a checkbox to the grid panel to specify support for HTTP pipelining."

This reverts commit 87864b68437d5f930acfd4470f9b47a34759fbab.

Conflicts:
	indra/newview/skins/default/xui/en-us/notifications.xml
By default start services as non-HTTP pipelining.

This also fixes MultiHandle::added_maximum, still checking
the non-HTTP pipeline connections (this includes long poll
connections by the way).

[Note that on a mega region it is not be unthinkable that
one reaches this limit, currently 64 connections, (even
32 regions would already kill you). The result would be,
that non-HTTP pipeline connections no longer work.
Therefore a mega region larger than 4x4 is highly questionable
also for this reason.]
Fix debug code for connection counting.
Set CURLMOPT_MAX_PIPELINE_LENGTH (dynamically).
Add support for CURLMOPT_PIPELINING_SITE_BL

Also fixes the debug code that keeps track of the actual number
of connections that libcurl made, since I had to upgrade my libcurl
(now on 7.38) and it's debug output format changed.

After this commit all hosts are blacklisted.
Added HTTP pipelining detection heuristics.

The current heuristics turn on HTTP pipelining for
services that are used for textures and/or mesh when
they return a 'Keep-Alive:' header (to a GET or HEAD request).

Opensim currently does not return that header (and does
not support HTTP pipelining), so that works. However, if
in the future they'd start to support keeping alive connections
but NOT pipelining at the same moment - then we'd turn on
pipelining nevertheless; which is a bad thing (effectively
we'd drop to 1 connection per service and thus download textures
and mesh a lot slower). Hence, TODO: improve the heuristics.
HTTP pipelining - bug fixes.
Merge branch 'master' into httppipeline
Liru never tests anything.
Merge branch 'master' into httppipeline