L4D2 PA plugin update to game version 2.1.3.5 (#1184)

By Ophidiophobia.
Add hidden option to disable pubserver list (FR #1120)

Added ui/disablepubliclist which if set to true removes the
public server list in the connect dialog. This option isn't
available in the UI and is meant for customizing setups in
specific deployments.

On windows you can enable the option by creating a string key
disablepubliclist under HKEY_CURRENT_USER\Software\Mumble\Mumble\ui
with the value true.
Added hidden option to disable add/edit in connect dialog (FR #1120)

When set removes add/edit options from the connect dialog.
This is meant to be used in occasions where the user isn't supposed
to change the set list of favourite servers.

On windows you can enable the option by creating a string key
disableconnectdialogediting under HKEY_CURRENT_USER\Software\Mumble\Mumble\ui
with the value true.
Make paths in fx11-build.pro case sensitive
Drastically simplify release.pl.

Previously release.pl did complex parsing of .pro
files to figure out which files to include in the
tar ball.

This change removes this logic and instead performs
the minimal modifications needed under the assumption
of a clean tree and then uses system tools to create
the tar.gz and zip files.
Missed DIST dependency on mkini.sh results.
Adjust build error text (missing submodule dir)

* Adjust the error text of when the build notices a git submodule
for a third party library was not initialized.
The new text should be more precise and compact.
compiler.pri: explicitly target Windows XP when specifying output binary's subsystem.

MSVS 2012 and 2013 default to outputting binaries that require Vista or greater.
compiler.pri: explicitly specify -ARCH:SSE for MSVS 2012 and 2013.

The C++ compiler in these versions os Visual Studio default to
generating SSE2 code, unless this is overridden with /ARCH.
Plugins: add support for the 'path' attribute in plugin auto-update XML.

This new attribute specifies an absolute path on a Mumble services
host that a given plugin is available at:

  <plugin name="borderlands2.dll"
          hash="(...)"
          path="/plugins/<os>/<abi>/borderlands2.dll" />

This path is directly usable with our WebFetch class.

We need this to be able to properly service multiple plugin ABIs
and/or OSes at the same time.

We could have overloaded the meaning of the 'name' attribute, and
have passed the absolute path in there, but the chosen approach
is more explicit about its intentions.

Being explicit about the 'path' attribute also makes it easier to
understand how backwards compatibility is handled: Since Mumble 1.2.5
and prior verisons do not know about the 'path' attribute, they will
keep simply using the 'name' attribute as their pointer to the DLL
file. This means we'll have to keep serving the DLLs for these older
clients at <webroot>/plugins/<name>.

In practice, this means that all plugins that can be requested by
these older clients will need to have a copy that lives at
<webroot>/plugins/<name>. Since these clients only support
(abi=1600, os=Win32) we can ensure on the backend that plugins for
that combo are served at /plugins/<name>.
mumble_plugin.h: change plugin magic values in preparation of the MSVS 2013 switch-over.

Mumble 1.3.0 on Windows will be built with MSVS 2013. That means
that old plugins will no longer load into it (Mumble will crash
if we try), because of C++ ABI differences between MSVS 2010
and MSVS 2013.

To combat this, we switch our plugin magics such that no ABI
mismatches can happen: Old clients will refuse to load new plugins,
and new clients will refuse to load old plugins.

We have a precedent for doing this. See dac82c99 (MSVS 2010 switch-over).
Bump version to 1.3.0
installer: update Product.wxs to refer to the VC120 CRT.

Without this, we'd be bundling the wrong CRT for MSVS 2013.
installer: change InstallerVersion to 405 to be able to merge with MSVS2013 VCRedist.
installer: automatically embed VCRedist 12.0 DLLs when env var MumbleNoMergeModule is set.

This commit updates the old RedistDirVC10 files to point to their new version 12 copies,
now that we build with MSVS2013.

It also implements an easy way to opt-out of using merge modules for the VCRT
redistributable DLLs.

With this change, if the environment variable MumbleNoMergeModule is set,
the installer build will automatically embed the VCRedist DLL files as
regular files into the final .MSI.

To avoid this behavior, one can set MumbleNoEmbedVCRedist=1. So, to build
a Mumble installer with no VCRT merge modules *and* no embedded VCRT DLLs,
one would set *both*

  MumbleNoMergeModules=1
  MumbleNoEmbedVCRedist=1
installer: drop InstallerVersion back to 300. add note about InstallerVersion requirements for VC12 redist to MergeModuleDir setting.

This change effectively reverts commit 0e447428ba8380581297e3e619967a09dda036ed.
MainWindow: fix a bug where user/channel actions were enabled even though no user or channel was selected.
Fix incorrect handling of mumble:// links

If a user is connected and authenticated on a server,
and he/she clicks a mumble:// link that connects him/her
to the current server, he/she is moved to the channel
specified in the link. Previously, this would disconnect
and reconnect the user to the server.

If a user is connected to one server and follows a
mumble:// link to another server, he/she is now
placed in the channel specified in the link.
Previously, the channel they would be moved into
would be the channel they were in on the first
server.
Reorder Mumble.proto to match ordering in Message.h.

While this should have no effect on the output, making the order of definitions
match makes it easier for third party implementers who are likely to work from
the .proto file.
Be more stringent about properly escaping external strings in HTML ('rich text' in Qt-speak).

This commit ensures that external-ish strings are escaped
using Qt::escape before being used in a rich text (HTML)
context.

This patch focuses on QMessageBox's body text, the Mumble log,
and tooltip texts.

Fixes #1208