add FileSelectorDialog and a helper function ShowFileSelectorDialog

Code taken from GameLoaderSaver.
add Game::LoadGame and Game::SaveGame which deals with the filesystem

Game::Serialize just pumps out game data to a Serializer, and the
Game constructor taking a serializer just streams out that data.
LoadGame/SaveGame deal with connecting the serializer to the filesystem.
use Game::LoadGame to implement LuaGame.cpp l_game_load_game
use Game::SaveGame to implement quicksave
replace GameLoaderSaver in the settings screen with FileSelectorDialog + Game::{Load,Save}Game
scrap GameLoaderSaver
Ensure autogenerated Faction home systems are populated

Re-arranged lua Factions definition files so the Faction autogen script
is loaded first. Preventing crash in sysgen when...
Faction::SetBestFitHomeworld excludes systems with no starports from
consideration as a home system.
Fixed sysgen using one less random number when system marked as
a Faction home system, to that used when it wasn't marked as a
home system.
Search inward as well as outward for home systems

Results in fewer factions being skipped.
Universe has changed, so bump the save version

Certain starports in previous Faction home systems may no longer
exist, without the bonus m_humanProx you get for being a Faction
home system.
Remove console window from vc2012 release build

Left it in, whoops!
Merge branch 'TranslateChanges' into MissionRegistry
Merge remote-tracking branch 'pioneerspacesim/master' into MissionRegistry
New Mission registry. Closes #1863
Missions don't choke on arbitrary status any more.
Edited codedoc to reflect the need for a globally unique typeid
Disallow creation of mission objects with unregistered type
Rename num variables to sysIdx for clarity
Add Sector::System::IsSameSystem method and use it in Sector view

Reduces the need to keep making SystemPath's as we're iterating to draw
the systems.
Fix Mission.RegisterType error checking and codedoc
Merge remote-tracking branch 'brianetta/MissionRegistry'