Code Updates & Map Settings Shells

Feature changes:
- Main window now uses your OS's default show behavior (or the show
behavior from the run call) when opened (will remember previous state
eventually)
- Force window now changes force names
- Unit Settings, Upgrade Settings, Tech Settings, and Wav Editor have
all the controls (except trees) in place (though they don't do anything
just yet)

Bug/Error fixes:
- Fixed a bug where closing all maps would corrupt memory.
- Fixed a bug where astrix wouldn't always show correctly when redoing.
- Fixed a bug where maps sometimes saved raw chk files as .scx
- Fixed an inconsitency where map title/description were not updated
when the window was tabbed away from.
- Fixed a bug where string editor color guide was not displaying all the
colors

Code changes:
- Gave UNDO class a pointer to the map it belongs to (void pointer, must
be cast inside methods), removed all astrix-based messaging and UNDO's
instance of mapId.
- Cleaned up alot of Chkdraft and Guimap files code
- File Renaming: Unit->UnitProperties, Location->LocationProperties,
Terrain->TerrainPalette, TileProp->TileProperties
- Move the (redicoulously located) tree display names from data class to
tree classes
- Moved Mapping Core filter into Mapping filter
- Changed to a 1-IsDialogMessage message loop
- Some buttons are no longer deleted/recreated to remove highlighting