Fix console-input in SDL1.2 for lots of unmapped keys

A lot of keys (especially keys not available on US keyboards) just weren't
supported for console input with SDL1.2 (SDL2 uses a different mechanism for
that).

This is fixed now by reordering a few lines in sdl_events.cpp

Please note that still only ASCII characters are supported and those keys
still can not be used in bindings - only for text input!
Implement Sys_ReLaunch() for Linux, refactor it

It now works on Linux so executing it doesn't freeze the game
like described in
https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/33

Furthermore, this function doesn't have any parameters anymore
(on any platform) because the only thing supplied was the original
program arguments +"+set com_skipIntroVideos 1" anyway - this is now
done in Sys_ReLaunch() (also on Windows).
Having the program arguments as one string is bad on Linux/POSIX
because there it's expected that the program arguments are one
C-string per argument.
Merge pull request #36 from DanielGibson/fix-sdl12-console

Fix console-input in SDL1.2 for lots of unmapped keys
Merge pull request #35 from DanielGibson/fix-relaunch

Implement Sys_ReLaunch() for Linux, refactor it
Add classic com_showFPS mode

That only displays the fps.
It's com_showFPS 2
Merge pull request #38 from DanielGibson/classic-showfps

Add classic com_showFPS mode
SDL_GetWindowDisplay got renamed to SDL_GetWindowDisplayIndex

SDL2 commit: http://hg.libsdl.org/SDL/rev/7174fb08017a
Merge pull request #42 from rettichschnidi/rettichschnidi-sdl-getwindowdisplayrename

SDL2: SDL_GetWindowDisplay got renamed to SDL_GetWindowDisplayIndex
Replace malloc.h by stdlib.h

On true unices malloc.h was never available and on Linux one should
include stdlib.h instead. While this change is necessary to build
rbdoom3 on FreeBSD and other true unices, the big question is what
it means to Windows.
Add FreeBSD defines
Include stddef.h for ptrdiff_t on FreeBSD
Add an explicit cast to shut up g++47 on FreeBSD
There's no libdl on FreeBSD
shut up compiler warnings

and a small comment
Configurable username for Multi-Player (ui_name), com_pause no cheat

D3BFG gets the username from Steam, in the GPL release it just
uses the hostname.
Now it's possible to set a custom name with the ui_name CVAR
(like in classic doom3). If ui_name is empty ("") the hostname
is used.

The window losing focus in MP resulted in the console being spammed
with "changing com_pause not allowed in Multi Player" (or similar)
messages. Added CVAR_NOCHEAT flag to com_pause to get rid of that.
Some timer-related improvements for POSIX

* idSysSignal::Wait should now handle timeouts > 1s better (or at all)
* Use clock_gettime for Sys_Milliseconds()
* Use CLOCK_MONOTONIC_RAW (and CLOCK_MONOTONIC as fallback if
  that's not available) for Sys_Milliseconds() and Sys_Microseconds()
  CLOCK_MONOTONIC can behave strange when NTP is used
* Small fixes in Sys_Microseconds(): use 64bit int to store time
  (like return type...), divide by 1000 (not 1000000) for nsec=>musec
try to fix console deadkey problem
rewrote posix_net.cpp based on win_net.cpp

And suddenly hosting a server on linux works at least locally
(with client and server on the same machine).
Even though there are still strange bugs (massive lags in one
direction, doesn't work in LAN), at least it works at all now.
Print net checksums as unsigned int

because it actually *is* unsigned and the negative values look strange
Fix sending clients from lobby to game when lobby and game are on same server

In the current case (only "direct" lobby backend, i.e. connect to a
server directly), lobby and game are always on the same server anyway..

It used to send the IP of the first network interface.. that kinda works
on Windows and FreeBSD in LANs (i.e. not over the internet or even
behind a NAT), but not at all on Linux, because the first device seems
to be the loopback device there (at least on my machine)..
Now it sends net_ip (so it should even work behind NAT) or, if net_ip is
set to "localhost" (the default), 0.0.0.0 is sent, which the client
interprets as "just use the IP of the lobby you're already connected to"