Better shutdown procedure without usage of atexit callback

atexit caused all sort of problems:
- crash on Mac OS on exit;
- crash in boost::filesystem (not integrated yet) on exit
Merge branch 'dev/better-game-shutdown'
Investigating bug #26 (Dead bodies are not visible again)

The problem in loading tilecache procedure.  It loads only
files with *.jsd extension, when some files have extension *.JSD.
So, on case-sensitive file-systems not all necessary files are found.
Subset of Boost 1.53.0 libraries: filesystem library and dependencies

This subset was extracted with the following commands:
 $ tar -xzf boost_1_53_0.tar.gz
 $ cd boost_1_53_0
 $ ./bootstrap.sh
 $ ./b2 tools/bcp/
 $ mkdir -p ../_build/lib-boost
 $ ./dist/bin/bcp filesystem ../_build/lib-boost
Using boost::filesystem to find files

Using boost::filesystem to find all files with the given extension
in a directory.
Using boost library to find files
Fix compilation with VS10E
Fix unit tests on Windows - path separator issues
Boost::foreach library
Use BOOST_FOREACH to simplify some code
Merge branch 'dev/boost-filesystem-library' into bugfix/26-dead-bodies-are-not-visible-again
Merge branch 'bugfix/26-dead-bodies-are-not-visible-again'
Compiled static SDL 1.2.15 for Mac OS

Compiled on Mac OS X 10.8.2 x64, Xcode 4.6
Build options:
  CFLAGS='-arch i386' ./configure --without-x --enable-shared=no
Building mac release using static precompiled SDL library.

In hope it can help with evasive crash on Mac OS.
Additional warnings enabled in Xcode
Merge branch 'maintenance/mac-build'
UTF-8 CPP Library v2.3.4

http://utfcpp.sourceforge.net/
http://sourceforge.net/projects/utfcpp/files/utf8cpp_2x/Release%202.3.4/utf8_v2_3_4.zip/download
UTF8String class based on UTF-8 CPP library
UTF8String optional wchar support
On Windows source file should have BOM (byte-order mark)