Add the "core" command line option.

This option specifies a [core]'s id which is to be loaded.
Not used yet.
Set the core_id preferences item at game launch.

The id of the used core is set and saved if given as a command line
interface.

This commit makes use of the new "core" command line option.
Add no_addon item to the game_config:: namespace.

This will be used to switch addons off during runtime.
Used for fallback if loading fails.
Can later be used to give gui controll over loading the addons.
Load addons based on game_config::no_addons instead of command line.

This is to make sure that we can change the loading of addons at
runtime.

Can be used to provide a fallback solution.
Removed the core file path from the preferences.

The new implementation works with the id only.
Made the "broken" core less broken.

This makes sure that the broken core fails at loading and is not marked
as invalid during its config validation.
Redesigned the core loading procedure.

Cores are now validated, invalid ones are discarded.
The failsave mechanism now tries to load without add-ons in case of a
fail before it falls back to the default core.
Core definitions are now read from a cores.cfg in every add-ons'
toplevel.