Upstream bug fix to teleport beacon allegiance

Was not propagating properly from player to beacon to rebels due to
mistranslated assembly code; access to wrong structure.
Upstream fixes to stair building issues

First sector moved instantly for buildDown16 stairs due to neglect of
using direction instead of constant 1. Also found that Strife clears the
tag of the first stair sector.
Upstream fix to torpedo weapon changing

Use of the wrong enum value as an index into weaponinfo left the
torpedo's selectability accidentally relying on you having 30 or more
rockets instead of cells. Verified against binary as a choco error.
hexen: Add workaround for Mac Hexen IWAD.

The Mac version of hexen.wad is slightly different from the normal
DOS one: it contains a bunch of extra lumps but more importantly,
the GENMIDI and DMXGUS lumps are missing. This means that Chocolate
Hexen would crash on startup with the default settings (as OPL is
the default music output).

To work around this problem and allow the game to start up properly,
detect if the required lump is missing and adjust the music settings,
printing a helpful message to stdout to inform the user.
Merge branch 'master' of github.com:chocolate-doom/chocolate-doom
fix SPECHITS cheat string
terminate the destination string in M_StringReplace()

fixes #428
Allow multiple substitute mappings for music tracks.

For the Hexen substitute mapping configuration file, it's desirable
to be able to include two mappings for each music lump: a straight
high quality recording of that lump, and the recording that was
included on the Hexen CD audio tracks. So allow multiple mappings
so that we can fall back to try other filenames if the first choice
file doesn't appear to exist.
opl: Use uint64_t for microsecond times.

Previous revamping of the OPL library changed delay times from ms
to us, and switched to 64-bit times for storage for them. However
this type change was botched and some functions were still using
32-bit arguments. Change to 64-bit types.

Thanks Quasar for reporting this. This fixes #438.
midi: Fix "D_DDTBLU disease".

The Doom II MAP14/MAP20 music has a hanging note at the end of the
track that is never turned off. If this is not reset when the track
loops, there is a continuous (and annoying) drone sound throughout
the next iteration of the song. Some information is here:

http://www.doomworld.com/vb/source-ports/66802-the-d-ddtblu-disease/

This changes the mus2mid code to generate an "all notes off"
controller event at the start of the MIDI track. This is specifically
done at the start and not the end of the track because otherwise the
looping of tracks like D_RUNNING is affected.

Thanks to a whole host of people for help on this: @plumsinus for
reporting the bug, @bradharding for devising a fix as part of Doom
Retro, and Quasar for feedback and his own fix to the Eternity Engine.
This fixes #412.
Use old network sync code by default.

The new netgame client sync code has the potential to be much better
than the original sync code. However, it currently has a buggy
controller and needs revisiting and overhauling (#358).

For the time being, switch back to the old sync code by default and
allow the new code to be enabled using the -newsync parameter
(replacing the -oldsync parameter).
Disable -oldsync startup message.

A message is printed if you are playing a game using the old sync
code, which could put you at a disadvantage compared to other players.
Disable this message for now as we're defaulting to old sync for the
time being.
Allow -warp to episodes beyond episode 4.

Vanilla Doom's -warp parameter allows warping to episodes beyond E4.
This didn't work in Chocolate Doom because of some changes made
to the G_InitNew code before the source release. Actual decompilation
of that function in Vanilla Doom shows that the episode/map sanity
checking is not present:

http://pastie.org/8140437

There is at least one known WAD (2002ado) that has a map on E5M1
that is playable in Vanilla, and this stops that map from being
possible to play. Comment out that code because it obviously
doesn't deserve to be there.

This fixes #426. Thanks plumsinus.
Merge branch 'master' of https://github.com/chocolate-doom/chocolate-doom into pretrans