Fix Left 4 Dead 2 plugin and clean up plugin code
Fix Left 4 Dead 2 plugin and clean up plugin code

Thanks to @mrzchuck for answering system based programming questions
and helping me with my first use of github.

This plugin supports the latest version of L4D2 (version 2.1.4.5)

Most of my code changes are based on the mumble wiki plugin guide
styling and/or the Counter Strike (CS) plugin (both of which are more
standardized and easier to read). I removed the calcout function by
pulling in the front and top vectors directly from L4D2. I simplified
the trylock function by calling fetch from it (previously trylock and
fetch contained duplicate code). The style for context support seemed
convoluted so I changed it to emulate the style of the CS plugin (the
logic is still the same). Lastly, I added many helpful comments
describing the variables, functions, and general principles of mumble
plugins.

I have performed extensive testing and found excellent results.

Lartza/mumble,SuperNascher/mumble,Lartza/mumble,Lartza/mumble,LuAPi/mumble,LuAPi/mumble,SuperNascher/mumble,Lartza/mumble,LuAPi/mumble,Lartza/mumble,SuperNascher/mumble,Lartza/mumble,LuAPi/mumble,SuperNascher/mumble,SuperNascher/mumble,Lartza/mumble,SuperNascher/mumble,SuperNascher/mumble,Lartza/mumble,LuAPi/mumble,SuperNascher/mumble,LuAPi/mumble,LuAPi/mumble,LuAPi/mumble,SuperNascher/mumble,LuAPi/mumble