[Voice Update] Apply updates from Viewer-Vivox2

Applies the following commits:
 4c13e7c - Interim version with SLIM removed from voice.
   https://bitbucket.org/obscurestar/viewer-vivox2/commits/4c13e7c7535cbae2767181844a014897c85f254a
 9cad21a - Thanks mercurial.
   https://bitbucket.org/obscurestar/viewer-vivox2/commits/9cad21adc15947f74a1beda31264730361fc6569
   Only the changes that should have been in 4c13e7c (removal of LLVivoxVoiceClient::accountListBlockRulesSendMessage() and LLVivoxVoiceClient::accountListAutoAcceptRulesSendMessage())
 9c94b96 - Removed debugging.
   https://bitbucket.org/obscurestar/viewer-vivox2/commits/9c94b96ed3ac20987f308b5296fba1cc51a875b1
 ec77595 - Turn off logging.
   https://bitbucket.org/obscurestar/viewer-vivox2/commits/ec775958ef8c2923ddc03ed051e322310dc278cd
 857cab1 - Kill all the vivox logs
   https://bitbucket.org/obscurestar/viewer-vivox2/commits/857cab153e835211d0a76e66d627a14de0f4706b
[Voice Update] Further sync llvoiceclient and llvoicevivox with upstream

Mainly tiny motions to ease merging as viewer-vivox2 work continues
Condenses MultiVoice block
Don't explicitly set LIBGL_DRIVERS_PATH by default; breaks autodetection
Fix shader compilation/out-of-spec issues
Merge remote-tracking branch 'upstream/master'

Conflicts:
	indra/llrender/llshadermgr.cpp (resolved)
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'

Conflicts:
	indra/newview/app_settings/shaders/class1/deferred/alphaNonIndexedNoColorF.glsl
	indra/newview/app_settings/shaders/class1/deferred/fullbrightShinyF.glsl
	indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl
	indra/newview/app_settings/shaders/class1/deferred/giF.glsl
	indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl
	indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl
	indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl
	indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
	indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedF.glsl
	indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedNoColorF.glsl
	indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl
	indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl
Re-fix shader compilation errors
Allow calling LLNotificationsUtil::add from any thread.

This makes LLStringUtil thread-safe by removing a rather unnecessary
LLFastTimer from LLStringUtil::format.

Same thing for LLTrans::getString and LLTrans::findString, where
even a comment stated that the author wasn't interested in measuring
cpu time at all. In this case I added some code back to make sure
that we're not calling LLTrans::getString() in an inner loop, which
was the reason that the LLFastTimer was added.

Made one string static to avoid 45000 look ups during login, which
kinda triggered the above test.

Finally, LLNotificationsUtil::add is made thread-safe by making
LLNotificationChannelBase::mItems thread-safe and defering a call
to LLNotifications::updateItem to the main thread when called
from another thread (using a little statemachine).
Merge remote-tracking branch 'singu/master'
Imported new revoke anim perms code and refactored related bits
Added NVAPI support on windows
Changed singularity prebuilt cache dir to sg.install.cache
Alow alt-camming and terrian parcel selection from farther away.

Thanks to Liru for finding the sport
Reset 'MotionResetsCamera' on camera reset
Merge branch 'master' of git://github.com/LightDrake/SingularityViewer