Merge ESM::Cell fields by subrecord

Fixes an issue with the Morrowind Patched mod where cell ambient values would become black due to the new cell records not including an AMBI subrecord.

Also fixes a bug where mLeasedRefs was incorrectly cleared when overwriting a cell (*oldcell = *cell;)
Change openmw.log to boost ofstream to fix unicode path on windows (see https://github.com/OpenMW/openmw/pull/108)
Don't play the same music track twice in a row (Fixes #746)
Fix for broken physics in exteriors (Fixes #1446)

The wrong function was being used to check the distance between old and new positions. It took the length of the vectors into account, which makes no sense for positions. The issue was only observed in exteriors, since most interiors are relatively close to the origin.
Store keybindings as keycode, not keyname. Also use SDL_GetKeyName instead of a manually created map. Fixes #1202

Note: breaks compatibility with input.xml, so the filename was changed.
Cell merge fix (reference context position was not saved correctly)
Merge remote-tracking branch 'upstream/master'
For compiling with MSVC 2012
Don't check mInterpolationType each iteration
Merge remote-tracking branch 'cc9cii/master'
Merge remote-tracking branch 'scrawl/master'
Merge remote-tracking branch 'origin/master'
warning fixes
Fix uninitialized variable use
Fix console reference label not resetting when loading save
Show base item value in tooltip, not real value (Fixes #1469)
Fix a sign error
Savegame: Store AiSequence
Handle activation scripts in AiActivate (Fixes #1478)
Savegame: Store death counter (Fixes #1477)