Derived classes may access this.
Less overshoot in HTTP bandwidth graph for higher values.
Add debug function 'is_single_threaded'

Usage:

AIThreadID foo(AIThreadID::none);

...

  llassert(is_single_threaded(foo));
...
  llassert(is_single_threaded(foo));
...
etc

The first call to is_single_threaded(foo) remembers the thread,
and after that it is enforced that any call from anywhere that uses foo
is done by the same thread.

If AIThreadID::none is omitted then the thread is enforced to the thread
that creates the AIThreadID.
Compile fix.

Move the destructor (and copy constructor while I was at it) to the .cpp
file in order to avoid instantiating the destructor of
boost::intrusive_ptr<ThreadSafeBufferedCurlEasyRequest> from a header,
which would require the class ThreadSafeBufferedCurlEasyRequest
to be defined in that header, which is unnecessary. In other words,
this avoid the need to include "aicurl.h" in headers using
AIPerService[Ptr].

Also fixed indentation of a comment.
Stats floater fix up.

Add '(UDP)' after Objects, to show that this is UDP bandwidth.
Do not add the received HTTP texture bytes to gTextureList.sTextureBits,
making it (and the 'UDP Textures' graph) indeed pure UDP.
Don't call LLInventoryModelBackgroundFetch::backgroundFetchCB unnecessarily

Remove LLInventoryModelBackgroundFetch::backgroundFetchCB from
gIdleCallbacks when we don't need it anymore.
Add throttling to HTTP inventory (bulk) fetching.

Call AIPerService::wantsMoreHTTPRequestsFor in
LLInventoryModelBackgroundFetch::bulkFetch to determine if curl is ready
for the next batch or not, instead of using inaccurate heuristic code
that is just guessing a bit.
Merge remote-tracking branch 'singu/master'
Fix comment.
Make refresh_desktop_app_entry.sh executable.
XMLize the "Singularity" menu and add Rebake and Region Debug Console to it.
Add the Limit Select Distance control to the input&camera panel
Add RLV toggle to prefs
Spot-fix the CAPS issue preventing UseHTTPInventory debug setting from working.
Linux script fix at exit viewer.
Allow switching between HTTP and UDP inventory without relogging.

This also makes the viewer immune for grids that send the FetchInventory2 et al
capabilities regardsless of whether we requested them (in fact, we always
request them now: we need them when someone switches in the middle of a session).

Note that (I tested that) textures could already be switched between
HTTP and UDP without relogging.
Fix for file-5.14
Revert "Spot-fix the CAPS issue preventing UseHTTPInventory debug setting from working."

On-the-fly switching of UseHTTPInventory provided in patch by Aleric.

This reverts commit bdb74add3c88295dfbc600e55dfd52f94db112c3.
Merge remote-tracking branch 'aleric/master'