Add first version of philosophy document.
Merge branch 'master' of github.com:chocolate-doom/chocolate-doom
joystick: Add an axis to allow strafing.

Modern gamepads typically have 2-3 D-pads and joysticks. This means
that it's desirable to be able to use one joystick for turning and
another for strafing. Add another axis in addition to the current X
and y axes that performs strafe movement.
joystick: Add joystick button to toggle menu.

When using a joystick or gamepad it's nice to be able to bring up the
menu without having to reach for the keyboard. This makes modern
gamepads more useful/usable.
setup: Change labelling to clarify gamepad support.

Vanilla Doom's setup.exe only made reference to "joysticks" as back
then gamepads were relatively uncommon for PCs and ports for game
controllers canonically known as "joystick ports". Nowadays it's far
more likely (and ergonomic) that the player will be using a gamepad
than a joystick. Change the labelling to refer to "Gamepad/Joystick"
or "controller" instead.
Exit with error on startup if using the wrong IWAD.

Having multiple binaries can cause some confusion - some users try to
run chocolate-doom with hexen.wad, thinking it is supported. Add a
startup check that makes sure the user is not trying to start the game
using the wrong IWAD file for the binary being run.

This fixes #382.
setup: Make iwad_t pointers const.

The table of IWAD data is stored in const memory, so make all iwad_t
pointers const to fix compiler warnings.
server: Fix sending of WAD/DEH checksums to clients.

Clients receive the WAD and dehacked checksums of the controlling
player and are supposed to display a warning at the startup screen if
they do not match. However, reversed logic in the code that sends the
waiting data to clients meant that they were always sent their own
checksums, so the error message was never displayed.

This fixes #384.
Merge branch 'master' of https://github.com/chocolate-doom/chocolate-doom

Conflicts:
	src/m_controls.c