Editor: Move LastBuildConfiguration to user data configuration file

Moved LastBuildConfiguration to a new class to house workspace settings
(potentially things like which windows were open). Editor ignores
workspace settings if the section isn't found. Bumped the user data
format version to 3.4.0.1.
Merge pull request #204 from gurok/340_separate_lastbuildconfig

Editor: Move LastBuildConfiguration to user data configuration file
Editor: Fix incorrect user data XML constants

Corrected references to a couple of game data XML constants in the user
data section. Corrected XML version index check.

Signed-off-by: Ivan Mogilko <ikm_spb@yahoo.com>
Replaced FlagsEditor and FlagsEditorControl with more dynamic StringListUIEditor and StringListUIEditorControl
Added CreateHardLink utility function to editor
Added interface for unified build process
Added BuildTargetUIEditor for selecting target platforms
Split build process for game data file and Windows based on new interface
Added build target for debugger

Note that "_Debug" build target is excluded from the
General Settings pane, and cannot be selected as a
target for building. It is only used by the debug
menus/buttons.
Added build target for Linux
Corrected BuildTargetUIEditor showing all targets instead of available targets
Corrected BuildTargetDebug creating an extraneous EXE file
Updated LATEST_XML_VERSION_INDEX to account for Settings.BuildTargets
Corrected default setting for Settings.BuildTargets to reflect all available platforms
Fixed "Run game setup" reading from wrong directory.

This also fixes a previous bug where this command
would throw an unhandled exception if the Compiled
directory did not exist. Instead the directory is
now created if it does not exist, and the correct
error message (that game EXE is not built) is shown.
Merge pull request #209 from monkey0506/editor_platforms

Unified build process for editor (includes Linux build target)