Linear search is not required here.
Add some utility functions, and use them.

clamp*() functions, percentChance() and randBetween().
Allow menus to be opened after death

The menus are still close when the player dies, so they can see the hudlog
message explaining the game over status.

Stat upgrade buttons are now disabled when dead.
Tab behavior in MenuLog is now similar to MenuPowers.
remove statement with no effect.
replace structs by classes.
Continuous Integration (travis): check compiling with old compiler.

Compiler version as of debian stable.
Continous Integration (travis): remove different versions of gcc.

They don't work.
correct CMake flags for no build type specified.
Merge pull request #307 from piotrrak/small-cleanups

Small cleanups
Merge pull request #309 from dorkster/bugfixes

Allow menus to be opened after death
Merge pull request #310 from stefanbeller/master

CMake list: correct variable names for undefined build.
NPC: add requires_level and requires_not_level events.
Map Events can have requires_level and requires_not_level.
Merge pull request #312 from stefanbeller/master

Add requires_level and requires_not_level to NPC and Map.
Introduce a setting 'audio' in the config file to disable audio.

Currently this setting cannot yet be set in the userinterface config.
Having this option available, allows us to not call Mix_OpenAudio
if audio is completely disabled, so the audio subsystem is not initialized
at all.
Merge remote-tracking branch 'mainline/master'
Capsule the audio processing better into their own functions.
Fix MessageEngine always being initialized as English

Closes #314

loadSettings() needs to be run after the ModManager is created, but *before*
MessageEngine is created.
Shrink scope of variables.
remove unneeded assignments.