avoid memcpy of overlapping palette memory
initialize palette before use

fixes a multitude of warnings of the form:
Conditional jump or move depends on uninitialised value(s)
  at 0x62005E9: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
  by 0x62007DE: SDL_MapRGBA (in /usr/lib64/libSDL-1.2.so.0.11.4)
  by 0x5FC2A6D: vlineColor (in /usr/lib64/libSDL_gfx.so.13.9.1)
  by 0x5FC358F: lineColor (in /usr/lib64/libSDL_gfx.so.13.9.1)
  by 0x75FB7E: OpenXcom::Surface::drawLine(short, short, short, short, unsigned char) (Surface.cpp:558)
  by 0x83D576: OpenXcom::Cursor::draw() (Cursor.cpp:93)
  by 0x7427B8: OpenXcom::State::setPalette(SDL_Color*, int, int, bool) (State.cpp:358)
  by 0x83FE4B: OpenXcom::StartState::StartState(OpenXcom::Game*) (StartState.cpp:63)
  by 0x631318: main (main.cpp:64)
Merge remote-tracking branch 'upstream/master' into valgrind_fixes
ensure startup palette is fully initialized

resolves the following valgrind warnings:
Conditional jump or move depends on uninitialised value(s)
   at 0x594C2F2: bcmp (mc_replace_strmem.c:930)
   by 0x62046B4: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6204D82: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6205928: SDL_LowerBlit (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6205B86: SDL_UpperBlit (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x76161A: OpenXcom::Surface::blit(OpenXcom::Surface*) (Surface.cpp:517)
   by 0x831BF6: OpenXcom::NumberText::draw() (NumberText.cpp:260)
   by 0x7615A3: OpenXcom::Surface::blit(OpenXcom::Surface*) (Surface.cpp:503)
   by 0x835F4B: OpenXcom::FpsCounter::draw() (FpsCounter.cpp:119)
   by 0x744387: OpenXcom::State::setPalette(SDL_Color*, int, int, bool) (State.cpp:361)
   by 0x841C1F: OpenXcom::StartState::StartState(OpenXcom::Game*) (StartState.cpp:63)
   by 0x632978: main (main.cpp:65)
 Uninitialised value was created by a stack allocation
   at 0x841B34: OpenXcom::StartState::StartState(OpenXcom::Game*) (StartState.cpp:43)

Conditional jump or move depends on uninitialised value(s)
   at 0x594C2F2: bcmp (mc_replace_strmem.c:930)
   by 0x62046B4: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6204729: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6204DCB: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6205928: SDL_LowerBlit (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6205B86: SDL_UpperBlit (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x5FCCEA6: characterColor (in /usr/lib64/libSDL_gfx.so.13.9.1)
   by 0x5FCCFF4: stringColor (in /usr/lib64/libSDL_gfx.so.13.9.1)
   by 0x7618F7: OpenXcom::Surface::drawString(short, short, char const*, unsigned char) (Surface.cpp:608)
   by 0x841C61: OpenXcom::StartState::StartState(OpenXcom::Game*) (StartState.cpp:68)
   by 0x632978: main (main.cpp:65)
 Uninitialised value was created by a stack allocation
   at 0x841B34: OpenXcom::StartState::StartState(OpenXcom::Game*) (StartState.cpp:43)
fully initialize new palette loaded from file

addresses the following valgrind warning:
Conditional jump or move depends on uninitialised value(s)
   at 0x594C4B2: bcmp (mc_replace_strmem.c:935)
   by 0x62056B4: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6205D82: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6206928: SDL_LowerBlit (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x6206B86: SDL_UpperBlit (in /usr/lib64/libSDL-1.2.so.0.11.4)
   by 0x7616D2: OpenXcom::Surface::blit(OpenXcom::Surface*) (Surface.cpp:517)
   by 0x831CAE: OpenXcom::NumberText::draw() (NumberText.cpp:260)
   by 0x76165B: OpenXcom::Surface::blit(OpenXcom::Surface*) (Surface.cpp:503)
   by 0x836003: OpenXcom::FpsCounter::draw() (FpsCounter.cpp:119)
   by 0x744387: OpenXcom::State::setPalette(SDL_Color*, int, int, bool) (State.cpp:361)
   by 0x7444F0: OpenXcom::State::setPalette(std::string const&, int) (State.cpp:379)
   by 0x845A2F: OpenXcom::MainMenuState::MainMenuState(OpenXcom::Game*) (MainMenuState.cpp:59)
 Uninitialised value was created by a heap allocation
   at 0x5948DF0: operator new[](unsigned long) (vg_replace_malloc.c:384)
   by 0x757F23: OpenXcom::Palette::loadDat(std::string const&, int, int) (Palette.cpp:55)
   by 0x8745C5: OpenXcom::XcomResourcePack::XcomResourcePack(std::vector<std::pair<std::string, OpenXcom::ExtraSprites*>, std::allocator<std::pair<std::string, OpenXcom::ExtraSprites*> > >, std::vector<std::pair<std::string, OpenXcom::ExtraSounds*>, std::allocator<std::pair<std::string, OpenXcom::ExtraSounds*> > >) (XcomResourcePack.cpp:85)
   by 0x841FC5: OpenXcom::StartState::think() (StartState.cpp:99)
   by 0x754C1E: OpenXcom::Game::run() (Game.cpp:278)
   by 0x632999: main (main.cpp:66)
Merge remote-tracking branch 'upstream/master' into valgrind_fixes
Merge pull request #815 from myk002/valgrind_fixes

don't use unitialized palette memory