fix some sound bug

in some cases, TraceLine may shorten the shotline to length zero, which
causes addshotline() to produces illegal coordinates for sound effects
report openal errors with more detail

(to make debugging further sound issues easier)
position checking may be reduced again in a while...
Added AC icon to SDL window (fixes #29)

As zeSKB reported, there was no icon for the game window.
This should now be fixed. We might want to make it transparent in the future,
but we would have to make sure it will be supported by any system.
transparency options for console and votes (resolves #45)
makefile with easier customisation

This makefile allows changing the compiler to g++ or requesting debug
binaries without editing the makefile.

The makefile sets default values for CXX and ACDEBUG, then reads values
from the file Makefile_local (if it exists). A commandline parameter
overrules both.

Makefile_local is not part of the repository, so it can be changed without
git caring (or nagging) about it. It is listed in .gitignore.

To switch to g++, create a file "Makefile_local" with the content
"CXX=g++".

To compile debug binaries, type "make clean install ACDEBUG=yes".

When g++ is used, "fast-math" is now enabled.
fix: gcc crashing the client

This workaround lowers the optimisation level for those parts of the code,
that gcc 4.7 (and probably other versions) would compile to a binary that
crashes after a while. The previous solution for this so-called "linux bug"
was to use clang instead of gcc.

Thx, Jpablon, for doing all the work on this.
filter reserved windows filenames

this patch prevents the use of map names like COM1 and PRN for all clients,
so that windows clients wouldn't hang because of the map name

Thx, Jpablon
substitute non-portable printf format string

the printf format "llx" can not be used on all platforms (for example,
mingw uses a different name for it)

this patch provides a function, that manually converts a 64-bit integer
to a hex string

Thx, Jpablon
fix seedlen
fix prompt cursor position

no more 1-char limit on inputcommand prompts
fix modifyvar

give a proper error message when trying to edit read-only vars
reverting integer overflow which floods the log every 50 days

this may have been borons second most stupid commit
fix access to uninitialized memory

thx, valgrind
fix empty map name after /newmap and fix voting for nonexistent maps

now /savemap after /newmap saves to "newmap.cgz" instead of ".cgz"

also, voting for a nonexistent map in singleplayer leaves the client in
some sort of a broken state. this fix blocks the vote.

and: newmap is blocked in bot modes, since that isn't working stable.
cleanup

- fix possible crash in conc (but it's still an ugly hack)
- fix noob usage of strcmp
- flag some memory leaks (it would be nice, if the author(s) would clean
   up the mess himself)
- fix crash in substr
- whitespace cleanup

there are plenty more memory leaks in command.cpp - for example, every
goto in cubescript does not clean up anything