simplyfy utf8::iterator implementation
remove double declarations in unicode.hpp
add custom codecvt for better error mesages.

this codecvt gibes errormessages in LOG_FS if it meets an invalid utf8 char.
also the boost codecvt seems inconsistetn becasue it seems on msvc it acepts utf8 AND ansi while it only accpets ansi on mingw.

Conflicts:
	src/filesystem_boost.cpp
use unicode programm args on windows

Conflicts:
	src/game.cpp
fix missing inclide (backport error)

The include of boost locale was missed when backporting this
commit:

0ba4e1488fd9bc301abe5f873016c9bdc84353fe
use gcc 4.8 on travis